Qt 槽函数的使用

今天在代码中遇到这样一个问题,自己感觉槽和函数都写的没错,但是就是不执行槽函数,因为是一个定时器的使用,即定时时间到了就执行槽函数。

 1 SeventhWizardPage::SeventhWizardPage(QWidget *parent) :
 2     QWizardPage(parent),
 3     ui(new Ui::SeventhWizardPage),
 4     parent(parent)
 5 {
 6     ui->setupUi(this);
 7     m_pDispatcher = new CSCSETLDispatcher;
 8     m_pTimer = new QTimer(this);
 9     connect(m_pTimer, SIGNAL(timeout()), this, SLOT(UpdateData));
10 }

自己看了好久才发现其中的错误,就是在connect中写槽函数时忘记加括号了,然而编译也通过了,但是就是定时到了不执行槽函数。希望不要再犯如此小错误。

时间: 2024-10-16 09:25:14

Qt 槽函数的使用的相关文章

4自定义信号和槽函数

自定义信号和槽 信号和槽的本质都是函数. 区别: 信号必须由signal关键字来声明 信号可以重载 信号没有返回值,但可以有参数.由于信号都是没有返回值,所以,槽函数一定没有返回值 信号就是函数的声明,只需声明,无需定义.槽既要函数声明也要完成定义. 使用方式:emit MySignal(); 例子说明:本例创建两个独立的窗口,分别在窗口中放置一个按钮,由此来进行两个窗口的切换.如:"切换到子窗口",即子窗口显示,主窗口隐藏.反之亦然. 按照之前的方式创建程序,另外在项目中"

Qt 的线程与事件循环——可打印threadid进行观察槽函数到底是在哪个线程里执行,学习moveToThread的使用)

周末天冷,索性把电脑抱到床上上网,这几天看了 dbzhang800 博客关于 Qt 事件循环的几篇 Blog,发现自己对 Qt 的事件循环有不少误解.从来只看到现象,这次借 dbzhang800 的博客,就代码论事,因此了解到一些 Qt 深层的实现,虽然是在 Qt 庞大的构架里只算的是冰山的一角,确让人颇为收益. 从 dbzhang800 的博客中转载两篇关于事件循环的文章,放在一起,写作备忘. 再次提到的一点是:事件循环和线程没有必然关系. QThread 的 run() 方法始终是在一个单独

Qt信号槽中槽函数为虚函数的一些感想

有时候,在写connect的时候会去犹豫一个问题----我的槽函数到底需不需要为虚函数.这个问题在我每次写connect的时候我都会反问自己,因为确实,如果你不去深究里面的moc,你发现不了太多问题. 比如有这么一个demo. #include <QApplication> #include <QObject> #include <QDebug> class Test : public QObject { Q_OBJECT public: void onEmit() {

Qt中的信号和槽函数。

1:写一个close按钮当单击此按钮时就执行槽函数,而关闭窗口. 1 #include "slot.h" 2 #include <QApplication> 3 #include<QPushButton> 4 #include<time.h> 5 #ifndef SLOT_H 6 #define SLOT_H 7 #include <QMainWindow> 8 #include <QObject> 9 #include &l

qt自定义信号和槽函数 emit

一.自定义信号 关键字:signals signals  : void ageChanged(int age); //虽然是一个函数,但是无需实现,参数age会传递到槽函数 二.信号和槽函数的关联 connect(boy,&Person::ageChanged,this,&Person::on_ageChanged); 三.发射信号 关键字:emit emit ageChanged(age);  //当年龄age改变时发射信号,让执行槽函数 四.槽函数 void Person::on_ag

如何在VS2013+QT5.3环境下使用自定义信号与槽函数

图1中标注出来的是VS2013中的QT界面设计师文件,双击默认打开的是Qt设计师工具. 在界面上面拉入一个PushButton,点击编辑信号与槽按钮进入编辑模式. 选择信号clicked(),发现可以从QWidget继承很多槽函数,暂时先选择close()槽函数,点OK 保存后,VS2013中有个文件“ui_testqt.h”会自动生成信号与槽的代码.此文件也是生成界面文件的源代码. 目前都是使用的默认的信号与槽函数,如果想触发自定义的槽函数呢?我们会想到可以直接修改ui_testqt.h里面的

QT connect函数的第五个参数

enum ConnectionType {AutoConnection,DirectConnection,QueuedConnection,AutoCompatConnection,BlockingQueuedConnection,UniqueConnection = 0x80}; 在QT中我们通常会使用connect函数,它是连接信号与槽的一种函数,通常使用的时候都是使用四个参数,但它还有第五个参数,只是一般都是使用的是默认参数. Qt::AutoConnection: 默认值,使用这个值则连

第五篇 -- 为组件的内建信号编写槽函数

学习书籍<Python Qt GUI与数据可视化编程> 上一节学习的是内部自带的槽函数,这一节学习自己为组件编写槽函数. 回忆一下上一节的图 我们把确定按钮绑定了accept()函数,把退出按钮绑定了close()函数.接下来,我们来看一下清空按钮. 清空: 首先在__init__()里将其绑定一个函数 self.ui.btnClear.clicked.connect(self.clear_text) 其次在myDialog类中编写clear_text()函数 def clear_text(s

pyqt的多Button的点击事件的槽函数的区分发送signal的按钮。

关键函数:QPushButton的setObjectName()/objectName() 个人注解:按功能或者区域,将按钮的点击事件绑定的不同的槽函数上. from PyQt5.QtWidgets import (QApplication, QWidget, QPushButton, QHBoxLayout, QLineEdit) from PyQt5.QtGui import * from PyQt5.QtCore import * import sys def clickHandle():