码迷,mamicode.com
首页 > 其他好文 > 详细

[Qt] Qt信号槽

时间:2017-11-14 22:35:02      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:机制   sign   amp   之一   exec   clu   就是   screen   pre   

信号槽是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信号槽

标签:机制   sign   amp   之一   exec   clu   就是   screen   pre   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!