概述
- 信号槽是 Qt框架引以为豪的机制之一。所谓信号槽,实际就是调用回调函数。当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号(signal)。这种发出是没有目的的,类似广播。如果有对象对这个信号感兴趣,它就会使用连接(connect)函数,意思是,将想要处理的信号和自己的一个函数(称为槽(slot))绑定来处理这个信号。也就是说,当信号发出时,被连接的槽函数会自动被回调。
- 信号和槽是Qt特有的信息传输机制,是Qt设计程序的重要基础,它可以让互不干扰的对象建立一种联系。
- 槽的本质是类的成员函数,其参数可以是任意类型的。和普通C++成员函数几乎没有区别,它可以是虚函数;也可以被重载;可以是公有的、保护的、私有的、也可以被其他C++成员函数调用。唯一区别的是:槽可以与信号连接在一起,每当和槽连接的信号被发射的时候,就会调用这个槽。
信号和槽使用
信号与槽的连接
使用connect函数,有两个原型。
原型1:
static QMetaObject::Connection 版权声明:本文为qq_34623621原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。