信号与槽是Qt编程的基础,信号与槽在Qt中处理界面各个组件的交互操作时变得更加的直观和简单。
信号
信号(Signal)就是在特定情况下被发射的事件。GUI程序设计的主要内容就是对界面上各个组件的信号进行响应,只需要知道什么情况下发射哪些信号,合理地去响应和处理这些信号就可以了。
槽
槽(Slot)就是响应信号的函数。槽就是一个函数,与一般的C++函数一样,可以定义在类的任何部分(public\private\protected),槽函数可以具有任何参数,也可以被直接调用。槽函数与一般的函数不同的地方在于,槽函数可以与一个信号关联,当信号被发射的时候,与之相关联的槽函数被动的执行。
信号与槽关联是用QObject::connect()函数来实现,基本的格式为:
Qobject::connect(sender,SIGNAL(signal()),receiver,SLOT(slot()