本文簡要說明,如何實現點擊按鈕彈出一個文本框。
1)首先創建工程,我們就創建一個QMainWindow,不選擇UI,就好了。
2)然后再單獨創建一個C++類文件,最后得到的工程代碼如下:
由於在創建mydiaglog時無法選擇Dialog,我們就選擇QWidget就行了。
3)接下來,把myDialog繼承的類改為QDialog。分別改mydialog.cpp和mydialog.h文件。
4)接下來在mainwindow.cpp文件中添加一個按鈕,並添加一個槽函數處理按鈕的事件。
這里很簡單,直接給代碼了:
mainwindow.cpp的代碼:

1 #include "mainwindow.h" 2 #include <QPushButton> 3 4 MainWindow::MainWindow(QWidget *parent) 5 : QMainWindow(parent) 6 { 7 dlg = new myDialog(this); 8 9 QPushButton *button = new QPushButton(this); 10 connect(button, &QPushButton::clicked, this, MainWindow::slot_pop_one_dialog); 11 } 12 13 void MainWindow::slot_pop_one_dialog(void) 14 { 15 dlg->show(); 16 } 17 18 MainWindow::~MainWindow() 19 { 20 21 }
mainwindow.h的代碼:

1 #ifndef MAINWINDOW_H 2 #define MAINWINDOW_H 3 4 #include <QMainWindow> 5 #include "mydialog.h" 6 7 class MainWindow : public QMainWindow 8 { 9 Q_OBJECT 10 11 public: 12 MainWindow(QWidget *parent = 0); 13 ~MainWindow(); 14 //槽函數 15 void slot_pop_one_dialog(); 16 17 private: 18 myDialog *dlg; 19 20 }; 21 22 #endif // MAINWINDOW_H
5)運行測試
點擊按鈕,將會彈出一個對話框。
6)總結
其實只要我們創建自己的對話框時,類要繼承至Dialog就可以了。