首页 > 其他 > 详细

[Qt] Qt信号槽

时间:2017-11-14 21:42:51      阅读:223      评论:0      收藏:0      [点我收藏+]

信号槽是Qt的核心机制之一,信号槽简单的来说就是两个对象及两个对象问答行为。

例如:发送者(Sender)发出信号(SIGNAL)、接收者(Receiver)做出反应(SLOT)。利用connect函数将这两个对象及其行为联系起来。

一个简单的例子如下,创建一个button,Clicked button make app quit.

#include <QApplication>
#include <QPushbutton>

int main(int argc, char* argv[])
{
    QApplication a(argc, argv);

    // Create a button.
    QPushButton button("QUIT");

    // Connect signal and slot
    QObject::connect(&button, &QPushButton::clicked, &QApplication::quit);

    // Show button in the screen.
    button.show();

    return a.exec();
}

connect函数的一般形式为:

connect(sender, signal, receiver, slot);

当sender发出signal信号后,receiver的slot函数会自动调用。

其中sender和receiver没有区别,都是QObject指针,主要区别在于signal和slot

signal和slot要求参数类型一致,如果不一致,则允许slot的参数比signal少,但是存在的参数必须对应一致。

 

[Qt] Qt信号槽

原文:http://www.cnblogs.com/immjc/p/7834657.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!