对话框可以为用户和应用程序之间提供一种可以相互的交互方式
首先创建一个Find的对话框 ,如图
我们可以为它定义一个类来实现它,然后创建这个类的对象即可;
所以先来看 它的头文件
#ifndef FINDDIALOG_H_INCLUDED
#define FINDDIALOG_H_INCLUDED
#include<QDialog>//Qt对话框的基类,QDialog从QWidgt派生出来的
class QCheckBox; //前置声明 ,跟C++里的一样,
class QLabel;
class QLineEdit;
class QPushButton;
class FindDialog:public QDialog{//成为QDialog的子类
Q_OBJECT //对于所有定义了信号和槽的类,在类定义开始处的Q)OBJECT宏都是必须的
public:
FindDialog(QWidget *parent=0);//典型的Qt窗口部件类的定义方式,parent指定了父窗口部件,默认为空
signals://申明了当用户单击find按钮发射两个信号 signals关键字其实是个宏,
void findNext(const QString &str,Qt::CaseSensitivity cs); //Qt::CaseSensitivity是枚举类型,
void findPrevious(const QString &str,Qt::CaseSensitivity cs);//向前查询生效,发射这个
private slots://有两个私有槽
void findClicked();
void enableFindButton(const QString &text);
private:
QLabel *label;
QLineEdit *lineEdit;
QCheckBox *caseCheackBox;
QCheckBox *backwardCheckBox;
QPushButton *findButton;
QPushButton *closeButton;
};
#endif // FINDDIALOG_H_INCLUDED
类中的 私有变量对应的部分:
label
linedit
caseCheackBox
backwardCheckBox
findButton
closeButton
对这些子类对话框的实现,按钮的交互,对话框的布局 将在下一篇类的源文件里实现