1. 程式人生 > >Qt 筆記: QWidget,QDialog

Qt 筆記: QWidget,QDialog

QWidget類繼承自QObject類和QpaintDevice類 - QObject是所有支援Qt物件模型的基類 - QPaintDevice是Qt中所有可繪製元件的基類

QWidget能夠繪製自己和處理使用者的輸入 -QWidget是Qt中所有視窗元件類的父類(super class) -QWidget是所有視窗元件的抽象 -Qt中的每個視窗元件都是一個QWidget -QWidget類物件長作為父元件或頂級元件使用

對話方塊是與yoghurt進行剪短互動的頂層視窗 -QDialog是Qt中所有對話方塊視窗的基類 -QDialog繼承與QWidget是一種容器型別的元件

QDialog的意義 -QDialog作為一種子不見嵌入其他容器中 -QDialog不能作為子部件嵌入其他容器中 -QDialog是定製了視窗式樣的特殊QWidget

模態對話方塊(QDialog::exec()) -顯示後無法與父視窗進行互動 -是一種阻塞式的對話方塊呼叫方式 -模態對話方塊用於必須依賴使用者選擇的場合 如(訊息提示,檔案選擇,列印設定,等)

非模態對話方塊(QDialog::show()) -顯示後獨立存在可以同時與父視窗進行互動 -是一種非阻塞式的對話方塊呼叫方式 -非模態對話方塊用於特殊功能設定的場合 如(查詢操作,屬性設定,等)

-在棧上建立模態對話方塊是最簡單常用的方式 -一般情況下非模態對話方塊需要在堆上建立 -通過QDialog::setModal函式可以建立混合特性的對話方塊 -非模態對話方塊需要制定Qt::WA_DeleteOnClose屬性 -只有模態對話方塊才有返回值的概念 -模態對話方塊的返回值用於表示互動結果 -QDialog::exec()的返回值為互動結果 -void QDialog::done(int i) 關閉對話方塊並將引數作為互動結果 -QDialog::Accepted-使用者操作成功 -QDialog::Rejected-使用者操作失敗