请问有谁能解答一下Qt中信号槽的优势?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问有谁能解答一下Qt中信号槽的优势?相关的知识,希望对你有一定的参考价值。

参考技术A QT中信号槽的优势:a.
类型的安全的,
体现在以下两个方面:-
信号和接收该信号的槽的参数类型要相同,
一一对应,
否则编译器会报错-
槽的参数个数是可以少于或等于信号的参数个数的

Qt信号和槽的问题

类的对象的申明时,signals前面没有明确指出是public还是private(好像一般都不写,为什么啊),而slots则要明确指出(无论是公有还是私有都指出来),他们的访问和使用和普通的公有私有成员有什么不同啊,谢谢啦

1.信号如果没有和槽连接,那么它什么都不会执行,只有槽具有实际的执行过程,因此信号无所谓共有和私有的问题。
2.发出信号实际上等价于调用和他connect的槽。在标准CPP中没有信号和槽的概念,实际上QT将信号和槽转换成标准的CPP代码(那些QT根据你的源代码生成的带有"_MOC"的源文件就是转换后的源代码)
3.实际上槽和成员函数基本相同,唯一不同的是它可以与信号连接,且无返回值。也就是说槽也可以像其它成员函数那样被调用。
参考技术A 与qt无关,public还是private ,看看c++的规则

以上是关于请问有谁能解答一下Qt中信号槽的优势?的主要内容,如果未能解决你的问题,请参考以下文章

Qt源码阅读 信号槽的连接与调用

QT编程中信号与槽遇到的参数传递问题,如下

Qt在多线程中使用信号槽的示例

C++框架_之Qt的信号和槽的详解

Qt信号和槽的问题

Qt每天一例17.信号槽的一些写法技巧