源代码
9.QtCheckBox.rar (485 K) 下载次数:36 源代码
9.QtCheckBox.rar (485 K) 下载次数:36 在Qt群里面有个人问QCheckBox怎么判断是否选择,我翻了下文档告诉他,可是他说他的4.3.2版本没有isChecked()方法,主版本都是4应该不会有这么大的变化,我就想到写个Demo给他.
我自己就是个初学者,甚至没有实际的使用过Connect,所以在编写过程中遇到了很多问题,我想都是个初学者会碰到的,记录在这里给初学者参考.
首先是用QtDesigner制作了一个简单的Dialog,拖拉一下控件就可以了,见附件.
自动生成的头文件是ui_UiQtCheckBox.h
然后,由Ui_Dialog派生出一个新类,这里要用到C++的多继承特性.代码如下:
#ifndef H_MYDIALOG_H
#define H_MYDIALOG_H
#include <QDialog>
#include <QMessageBox>
#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 <QApplication>
#include "MyDialog.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MyController mycon;
mycon.show();
return app.exec();
}
----------------------------
希望对广大初学者有帮助,一起进步!
[ 此贴被wvins在2008-10-31 23:56重新编辑 ]