首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

Qt學習之路(7):建立對話框實作上篇 FindDialog 類別設計

     編輯:關於C++

以實作「尋找對話框」學習 QDialog 開發。每章可執行、可見成果,避免冗長範例打擊學習動力。

專案建立

  • Qt Gui Application
  • Base Class 選 QDialog(非預設 QMainWindow)
  • 類別命名 FindDialog,取消 Generate form

finddialog.h 類別設計


#ifndef FINDDIALOG_H
#define FINDDIALOG_H

#include <QtGui/QDialog>

class QCheckBox;
class QLabel;
class QLineEdit;
class QPushButton;

class FindDialog : public QDialog {
    Q_OBJECT

public:
    FindDialog(QWidget *parent = 0);
    ~FindDialog();

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

設計要點解析

  • 前向宣告:四個元件類別僅用指標,無需包含頭檔,加快編譯
  • Q_OBJECT:定義信號槽的類別必須宣告此宏
  • signals:Qt 擴展關鍵字,宣告 findNext/findPrevious 兩個公開信號
  • private slots:兩個私有槽函式,供內部信號連接
  • 成員變數:槽函式需存取 UI 元件,故宣告為私有成員

下章將實作 .cpp 檔案完成功能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved