qt 學習第一天: 總結
使用qt第一天,感覺開發起來還是很舒服的,每天記錄學習到的一點東西,雖說和工作上的不太相關,但是希望自己能堅持下來。
qt編寫對話框程式的一些特點:
1.建立并初始化視窗部件
2.将部件視窗添加到布局管理器中
3.建立信号槽的連接配接
3.實作對話框中的自定義槽
模态對話框就是沒有關閉它之前,不能與應用程式的其他視窗互動。
非模态對話框就是既可以與它互動,也可以與應用程式的其他視窗互動。
在MainWindow的構造函數中,建立一個模态視窗
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QDialog *pDlg=new QDialog(this);
//pDlg->setModal(1);
pDlg->setWindowModality(Qt::ApplicationModal);
pDlg->show();
}
Qt::ApplicationModal 阻塞應用程式的所有視窗
Qt::WindowModal 阻塞本視窗的父視窗以及父視窗的所有子視窗。
Qt::NonModal 不阻塞任何視窗,即非模态視窗
setModal(1);相當于 Qt::ApplicationModal
上面的代碼與下面的代碼,都是建立模态視窗,但是效果是不同的,上面的代碼,在show()函數執行之後,将控制權交還給調用者,MainWindow 視窗也被顯示了出來。
而下面的代碼,exec()之後,隻有當pDlg的視窗被關閉,程式才能接着向下執行。
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QDialog *pDlg=new QDialog(this);
dlg.exec();
}