一、什么是Qt
Qt是一个跨平台的C++图形用户界面应用程序框架。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。
二、Qt支持的平台
Windows—XP、Vista、Win7、Win8、Win2008、Win10。
UNIX/X11—Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX/ SGI IRIX等
Macintosh—Mac OS X。
三、信号和槽机制
Qt提供了信号和槽机制用于完成界面的操作的响应,是完成任意两个Qt对象之间的通信机制。
信号会在某个特定的情况或者动作下被触发,槽是等同于接收并处理信号的函数。
1、信号与槽机制的优点
- 类型安全。需要关联的信号和槽的签名必须是同等的,即信号的参数类型和参数个数与接收该信号的槽的参数类型和参数个数相同。不过一个槽的参数个数是可以少于信号的参数个数的,但是缺少的参数必须是信号参数的最后一个或者几个参数。
- 松散耦合。信号和槽机制减弱了Qt对象的耦合度,激发信号的Qt对象无须知道是哪个对象的哪个槽需要接受它发出的信号,它只需要在适当的时间发送适当的信号就可以了,也不需要信号有没有被接收到。
信号和槽机制增强了对象间通信的灵活性,然而也损失了一些性能。同回调函数相比,信号和槽机制运行速度有些慢。
导致运行速度慢的原因
1、需要定位接收信号的对象。
2、安全地遍历所有的关联(如一个信号关联多个槽的情况)
3、编组/解组传递的参数
4、多线的时候,信号可能需要排队等待。