在QtCreator中手动添加signal和slot

简介:

感觉做有UI的程序时,用qtCreator自带的信号及槽管理方便是方便,但一些功能还不具备,比如:

1.在转到槽编辑时,函数名固定

2.在UI中进行信号与槽编辑时,找不到自己添加的槽,并且不清楚QtCreator在背后做了些什么,虽然知道ui有uic来编译,但应该在代码中呈现出来的代码,并没有呈现出来,比如:两个QTextEdit,一个textChanged(QString)时,另一个setText(QString),这在代码在根本没有体现,在用Designer生成的头文件中也没体现。

3.在添加槽时,感觉步骤过多

环境:

QtCreator2.6.1

Qt 4.8.3

win7

具体步骤:

1.在头文件中添加singal和slot的定义

2.在构造函数中添加相应的connect,比如对一个QAction添加一个动作

connect(ui->actionBackGround,

            SIGNAL(triggered()),
            this,
            SLOT(actionBackGround_triggered()));

我认为手动添加是有好处的,比如,使UI程序更像console程序,代码阅读起来比较好,管理起来也比较方便,让人知其然,也知其所以然。










本文转自 hakuyo 51CTO博客,原文链接:http://blog.51cto.com/hakuyo/1127551,如需转载请自行联系原作者

目录
相关文章
|
6月前
|
存储 API C++
【Qt 信号槽】深入探索 Qt 信号和槽机制中的引用传递“ (“A Deep Dive into Reference Passing in Qt Signal and Slot Mechanism“)
【Qt 信号槽】深入探索 Qt 信号和槽机制中的引用传递“ (“A Deep Dive into Reference Passing in Qt Signal and Slot Mechanism“)
533 0
|
Ubuntu PyTorch 算法框架/工具
Python程序运行,“libgcc_s.so.1 must be installed for pthread_cancel to work”解决办法
Python程序运行,“libgcc_s.so.1 must be installed for pthread_cancel to work”解决办法
262 0
|
编译器 C语言
Qt的Q_UNUSED()函数的功能
Qt的Q_UNUSED()函数的功能
242 0
|
C++
boost之signal的使用
boost是C++的一个扩展库,被称为C++准标准库,里面的组件很丰富,并且引用方便,85%的组件只需要引用头文件即可使用。在嵌入式系统也可以很方便的使用,这里介绍一下signal的使用,有点类似Qt里的信号槽。 可以接收静态函数、类成员函数、labmda表达式。 下面这个是使用signal封装的一个事件注册处理模板,使用起来还是很方便的。
134 0
Qt6:移除[signal] void QComboBox:: currentIndexChanged (const QString & text )信号
通过对比Qt 6.0.1和qt 5.12.9的文档发现,Qt 6.0.1中已经没有[signal] void QComboBox:: currentIndexChanged (const QString & text )信号了。
150 0
Qt6:移除[signal] void QComboBox:: currentIndexChanged (const QString & text )信号
Gtk-ERROR **: 14:39:47.000: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process
Gtk-ERROR **: 14:39:47.000: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process
259 0
解决办法:GTK_OBJECT、GTK_SIGNAL_FUNC未声明
解决办法:GTK_OBJECT、GTK_SIGNAL_FUNC未声明
83 0
Qt在pro中设置运行时库MT、MTd、MD、MDd
Qt在pro中设置运行时库MT、MTd、MD、MDd
715 0
|
Python
PySide QtCore.Signal帮助手册
  本文主要是翻译了Signal的文档,感兴趣的同学,可以参见 PySide的官方文档。翻译不足之处,还请指正。   函数用法 def connect (receiver)def disconnect (receiver)def emit (*args)   详细描述  Signal类提供了使用符合python语法习惯的方法来定义以及连接Qt信号。
2293 0