Qt Programing With C++ (2nd) 之 find dialog

来源:互联网 发布:python自动化运维意义 编辑:程序博客网 时间:2024/06/01 12:54
#ifndef FINDDIALOG_H#define FINDDIALOG_H#include <QDialog>class QCheckBox;class QLabel;class QLineEdit;class QPushButton;class FindDialog : public QDialog{    Q_OBJECTpublic:    FindDialog(QWidget *parent = 0); signals:    void findNext(const QString &str, Qt::CaseSensitivity cs);    void findPrevious(const QString &str, Qt::CaseSensitivity cs);private slots:    void findClicked();    void enableFindButton(const QString &text);private:    QLabel *label;    QLineEdit *lineEdit;    QCheckBox *caseCheckBox;    QCheckBox *backwardCheckBox;    QPushButton *findButton;    QPushButton *closeButton;};#endif


QDialog类继承于QWidget,是所有dialog类的基类。

QDialog适合用来执行短小的任务以及与用户之间的交互,分为模态和模态两种类型,对于模态又分为application modal & window modal, 前者是阻塞所有非己窗口的事件直到自己被关闭,后者则只阻塞和自己相关的窗口的事件。

如果想以Application Modal的方式创建dialog,则调用exec()。更为灵活的是使用setWindowModality(),然后调用show()来确定以哪种模态形式(上面提到的两种)。

QDialogButtonBox可以方便的创建各种标准类型的按钮Layout。可以把很多按钮组合在一个QDialogButtonBox中,当某个按钮被按下,该类就会自动发出信号


原创粉丝点击