Qt 编程指南 3 信号槽

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt 编程指南 3 信号槽相关的知识,希望对你有一定的参考价值。

https://qtguide.ustclug.org/

忽略自动补全报的错

在图形界面修改过后,自动补全未必及时读取新加入的控件的信息

1 代码自写

1 在主窗口头文件Qt_tset1.h里声明这个函数FoodIsComing()    

技术分享

2 在主窗口函数文件Qt_tset1.cpp里实现这个函数体FoodIsComing()

技术分享

 

 3 创建链接执行函数。控件动作触发事件,然后调用函数执行

例如: 按键 的 单击动作 触发 主窗体 中的    FoodIsComing() 函数,并执行。

技术分享

 

 

2 图形

所谓信号槽,简单来说,就像是插销一样:一个插头和一个插座。怎么说呢?当某种事件发生之后,比如,点击了一下鼠标,或者按了某个按键,这时,这个组件就会发出一个信号。就像是广播一样,如果有了事件,它就漫天发声。这时,如果有一个槽,正好对应上这个信号,那么,这个槽的函数就会执行,也就是回调。

#include <QtGui/QApplication> 
#include <QtGui/QPushButton> 

int main(int argc, char *argv[]) 
{ 
        QApplication a(argc, argv); 
        QPushButton *button = new QPushButton("Quit"); 

  // QApplication 的实例 a 说,如果button 发出了 clicked 信号,你就去执行我的 quit 函数。
        QObject::connect(button, SIGNAL(clicked()), &a, SLOT(quit())); 

        button->show(); 
        return a.exec(); 
}

QObject 是所有类的根。Qt 使用这个 QObject 实现了一个单根继承的 C++。它里面有一个 connect静态函数,用于连接信号槽。

clicked()就是一个信号,而 quit()就是槽

以上是关于Qt 编程指南 3 信号槽的主要内容,如果未能解决你的问题,请参考以下文章

Qt编程中信号与槽机制可以用啥方法替换

QT编程中信号与槽遇到的参数传递问题,如下

C++框架编程Qt 的 信号与槽 简单了解!

qt中信号与槽机制

Qt基础面试题

QT的信号和槽机制简介