初学Qt之--带参数的信号和槽的实现(入门级)
来源:互联网 发布:网络系统集成质量控制 编辑:程序博客网 时间:2024/06/01 07:59
初次接触Qt,由于只有C语言的基础,弄起来很是头疼。下面这个Qt带参数的信号与槽的实例仅供入门之用,高手免观(Qt 4.4.0 实现)
废话不多说,直接上代码:
- /*********MyMainWindows.h**************/
- #ifndef MYMAINWINDOWS_H_
- #define MYMAINWINDOWS_H_
- #include <QWidget>
- #include <QPushButton>
- #include <QLineEdit>
- #include <QLabel>
- //申明一个MyMainWindows类,这个类用于实现窗体
- class MyMainWindows:public QWidget
- {
- Q_OBJECT //Q_OBJECT是在定制信号和槽和必须包含的一条宏语句
- public:
- MyMainWindows(); //类构造函数(用于实现程序的主体部份)
- public slots: //所有的槽函数都必须申明public slots语句内
- void SlotTest(); //这个槽函数用于显应点击按钮时改变文本框内容
- private:
- QPushButton * pb; //申请一个按钮QPushButton
- QLineEdit * ledit; //申请一个文本框ledit
- QLabel * label; //申请一个文本标签label
- signals: //所有信号都需要申明在signals语句内
- void SigTest(QString text); //自定义的带参数的信号SigTest(QString text)。
- };
- #endif
- /*************MyMainWindows.cpp****************/
- #include "MyMainWindows.h"
- MyMainWindows::MyMainWindows()
- {
- setGeometry(90,90,300,200);
- pb = new QPushButton("Modify",this);
- pb->setGeometry(10,10,100,20);
- ledit = new QLineEdit("what's your name",this);
- ledit->setGeometry(10,30,200,150);
- label = new QLabel("I am a Label",this);
- label->setGeometry(115,10,100,20);
- connect(pb,SIGNAL(clicked()),this,SLOT(SlotTest()));
- //连接自定义信号SigTest(QString)和QLineEdit中的预定义槽setText(QString)
- connect(this,SIGNAL(SigTest(QString)),ledit,SLOT(setText(QString)));
- }
- //实现用于接受pb点击信号的槽
- void MyMainWindows::SlotTest()
- {
- label->setText("clicked");
- //发送自定义的信号,请注意信号的参数类型和个数要和槽一样
- emit SigTest("Hello,I am Keyunchuan");
- }
- /**************Main.cpp**************/
- #include <QApplication> //所有QT应用程序都要包含QApplication头文件
- #include "MyMainWindows.h"
- int main(int argc,char * argv[])
- {
- QApplication app(argc,argv); //申明一个QT应用程序对像app
- MyMainWindows w; //申明我们实现MyMainWindows窗体对像 w.
- w.show(); //显示这个w 窗体
- return app.exec();
- }
然后附上运行时截图:
点击pb后
谢谢围观,如有改进之处,敬请留言。
FROM: http://blog.csdn.net/zgrjkflmkyc/article/details/8516452
0 0
- 初学Qt之--带参数的信号和槽的实现(入门级)
- 初学Qt之--带参数的信号和槽的实现(入门级)
- QT带参数信号槽
- QT入门笔记--信号和槽(附简单的C++类实现代码)
- Qt信号和槽的实现揭秘
- Qt信号和槽的实现揭秘
- qt 信号槽默认参数 toggled 和 trigger的区别
- Qt 信号槽的实现
- QT信号与槽“带参数”
- QT的信号和信号槽
- 信号槽如何传递参数(或带参数的信号槽)
- 信号槽如何传递参数(或带参数的信号槽)
- 关于Qt信号/槽的参数类型
- 42-带参数的信号
- QT的信号和槽
- Qt的信号和槽
- QT的信号和槽
- QT的信号和槽
- 为什么说 Git 比 SVN 更好
- Java的接口与内部类
- BES中间件Spark协议格式
- iOS UITextField 使用全解
- 常见gcc编译警告整理(开始)
- 初学Qt之--带参数的信号和槽的实现(入门级)
- Unity3D 2D游戏开发 官方教程。(十五)
- 使用js Math.random()函数生成指定范围的随机数字
- 修改min.js
- DirectShow SDK下载
- filco minila air在debian下的蓝牙适配安装
- Harris角点检测代码
- android中修改tablayout中的字体大小和颜色
- Build Your Own Images