QT入门笔记--创建对话框
创建对话框的基本步骤:
*创建并初始化子窗口部件
*把子窗口部件放到布局中
*设置Tab键顺序(本文省略了此步骤)
*建立信号-槽之间的连接
*实现对话框中的自定义槽
本文所创建的对话框如下:
MyDialog.h
**#ifndef MYDIALOG_H
#define MYDIALOG_H
#include
#include
#include
#include
#include
#include
#include
class QCheckBox;
class QLabel;
class QTextEdit;
class QPushButton;
class MyDialog:public QDialog
{
Q_OBJECT
public:
MyDialog(QWidget *parent = 0);
signals:
void submit();
private slots:
void result();
private:
QLabel *lbl;
QTextEdit *txt_name;
QRadioButton *rbtn_male;
QRadioButton *rbtn_female;
QPushButton *btn_submit;
};
#endif // MYDIALOG_H
MyDialog.cpp
#include”MyDialog.h”
MyDialog::MyDialog(QWidget *parent):QDialog(parent)
{
lbl = new QLabel(tr(“Input your name:”));
txt_name = new QTextEdit;
rbtn_male = new QRadioButton(“male”);
rbtn_female = new QRadioButton(“female”);
btn_submit = new QPushButton(“&Submit”);
QHBoxLayout *top =new QHBoxLayout;
QHBoxLayout *middle =new QHBoxLayout;
QHBoxLayout *bottom =new QHBoxLayout;
top->addWidget(lbl);
top->addWidget(txt_name);
middle->addWidget(rbtn_male);
middle->addWidget(rbtn_female);
bottom->addWidget(btn_submit);
QVBoxLayout *frm=new QVBoxLayout;
frm->addLayout(top);
frm->addLayout(middle);
frm->addLayout(bottom);
setLayout(frm);
connect(btn_submit,SIGNAL(clicked()),this,SLOT(result()));
}
void MyDialog::result()
{
emit submit();
if(rbtn_male->isChecked())
{
txt_name->append(“you are:male”);
}
else
{
txt_name->append(“you are:female”);
}
}
main.cpp
#include”MyDialog.h”
#include
int main(int argc, char *argv[])
{
QApplication myapp(argc, argv);
MyDialog *md = new MyDialog;
md->show();
return myapp.exec();
}**
还没有评论,来说两句吧...