qwidget qmainwindow qdialog 簡要區別

原文網址:html

http://zxwmail.blog.163.com/blog/static/120947384201010611017114/web

 

     QWidget類是全部用戶界面對象的基類。 窗口部件是用戶界面的一個原子:它從窗口系統接收鼠標、鍵盤和其它事件,而且在屏幕上繪製本身的表現。每個窗口部件都是矩形,而且它們按Z軸順序排列的。一個窗口部件能夠被它的父窗口部件或者它前面的窗口部件蓋住一部分。

     QMainWindow 類提供一個有菜單條、錨接窗口(例如工具條)和一個狀態條的主應用程序窗口。主窗口一般用在提供一個大的中央窗口部件(例如文本編輯或者繪製畫布)以及周 圍菜單、工具條和一個狀態條。QMainWindow經常被繼承,由於這使得封裝中央部件、菜單和工具條以及窗口狀態變得更容易。繼承使建立當用戶點擊菜 單項或者工具條按鈕時被調用的槽成爲可能。你也可使用Qt設計器來建立主窗口。

     QDialog類是對話框窗口的基類。對話框窗口是主要 用於短時間任務以及和用戶進行簡要通信的頂級窗口。QDialog能夠是模式的也能夠是非模式的。QDialog支持擴展性而且能夠提供返回值。它們能夠有 默認按鈕。QDialog也能夠有一個QSizeGrip在它的右下角,使用setSizeGripEnabled()。

     QDialog 是最普通的頂級窗口。不被嵌入到一個父窗口部件的窗口部件被叫作頂級窗口部件。一般狀況下,頂級窗口部件是有框架和標題欄的窗口(儘管若是使用了必定的窗 口部件標記,建立頂級窗口部件時也可能沒有這些裝飾。)在Qt中,QMainWindow和和不一樣的QDialog的子類是最普通的頂級窗口。

     若是是頂級對話框,那就基於QDialog建立,若是是主窗體,那就基於QMainWindow,若是不肯定,或者有可能做爲頂級窗體,或有可能嵌入到其餘窗體中,則基於QWidget建立。
框架

固然了,實際中,你還能夠基於任何其餘部件類來派生。看實際需求了,好比QFrame、QStackedWidget等等。工具

http://www.kuqin.com/qtdocument/qwidget.html#details
http://www.kuqin.com/qtdocument/qmainwindow.html#details
http://www.kuqin.com/qtdocument/qdialog.html
spa

相關文章
相關標籤/搜索