[ZZ 信号和槽 学习笔记
2009-03-13 21:15
429 查看
首先是用QtDesigner制作了一个简单的Dialog,拖拉一下控件就可以了,见附件.
自动生成的头文件是ui_UiQtCheckBox.h
然后,由Ui_Dialog派生出一个新类,这里要用到C++的多继承特性.代码如下:
#ifndef H_MYDIALOG_H
#define H_MYDIALOG_H
#include
#include
#include "ui_UIQtCheckBox.h"
class MyController: public QDialog, public Ui_Dialog
//多继承,这里关系到Connect函数能不能正确执行
//因为自动生成的Ui_Dialog类不是从QObject继承的,
//所以不能Connect,在这里我郁闷了很久!
{
Q_OBJECT //这玩意只要出现了QT专用的东东slot,signal就要用到
public:
MyController():QDialog()
{
setupUi(this);
connect(pushButton, SIGNAL(clicked()),
this, SLOT(myClick()));
}
private slots:
void myClick()
{
if(checkBox->isChecked())
QMessageBox::critical(NULL, "","Checked");
else
QMessageBox::critical(NULL, "","NotChecked");
}
};
#endif
主程序代码如下:
#include
#include "MyDialog.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MyController mycon;
mycon.show();
return app.exec();
}
----------------------------
希望对广大初学者有帮助,一起进步!
自动生成的头文件是ui_UiQtCheckBox.h
然后,由Ui_Dialog派生出一个新类,这里要用到C++的多继承特性.代码如下:
#ifndef H_MYDIALOG_H
#define H_MYDIALOG_H
#include
#include
#include "ui_UIQtCheckBox.h"
class MyController: public QDialog, public Ui_Dialog
//多继承,这里关系到Connect函数能不能正确执行
//因为自动生成的Ui_Dialog类不是从QObject继承的,
//所以不能Connect,在这里我郁闷了很久!
{
Q_OBJECT //这玩意只要出现了QT专用的东东slot,signal就要用到
public:
MyController():QDialog()
{
setupUi(this);
connect(pushButton, SIGNAL(clicked()),
this, SLOT(myClick()));
}
private slots:
void myClick()
{
if(checkBox->isChecked())
QMessageBox::critical(NULL, "","Checked");
else
QMessageBox::critical(NULL, "","NotChecked");
}
};
#endif
主程序代码如下:
#include
#include "MyDialog.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MyController mycon;
mycon.show();
return app.exec();
}
----------------------------
希望对广大初学者有帮助,一起进步!
相关文章推荐
- 进程间通信学习笔记二(信号通信)
- [离散时间信号处理学习笔记] 9. z变换性质
- 【linux高级环境编程学习笔记二】信号通信
- qt5视频学习笔记2(自定义槽函数、信号与槽)
- Linux信号产生与处理机制学习笔记(二)
- 数字语音信号处理学习笔记——语音信号的短时频域分析(2)
- [离散时间信号处理学习笔记] 1. 离散时间信号与离散时间系统
- 数字语音信号处理学习笔记——语音信号的短时频域分析(2)
- UNP卷一学习笔记:POSIX信号处理
- UNIX环境编程学习笔记(24)——信号处理进阶学习之信号集和进程信号屏蔽字
- Lambda演算学习笔记[zz]
- openrisc 之 Wishbone总线学习笔记——接口信号定义
- 数字语音信号处理学习笔记——语音信号的同态处理(2)
- QtQuick学习笔记之QML自定义信号
- [wget学习笔记] 哈希表 hash table (ZZ)
- Android中Telephony学习笔记(6)-信号强度类
- 数字语音信号处理学习笔记——语音信号的数字模型(3)
- 进程间通信学习笔记二(信号通信)
- [学习笔记]信号的高级用法
- PySide学习笔记第八章-事件和信号