1. 程式人生 > >QT中QWidget、QDialog以及MainWindow的區別

QT中QWidget、QDialog以及MainWindow的區別

QWidget類是所有使用者介面物件的基類。 視窗部件是使用者介面的一個基本單元:它從視窗系統接收滑鼠、鍵盤和其它事件,並且在螢幕上繪製自己。每一個視窗部件都是矩形的,並且它們按Z軸順序排列。一個視窗部件可以被它的父視窗部件或者它前面的視窗部件蓋住一部分。

  QMainWindow 類提供一個有選單條、錨接視窗(例如工具條)和一個狀態條的主應用程式視窗。主視窗通常用在提供一個大的中央視窗部件(例如文字編輯或者繪製畫布)以及周圍 選單、工具條和一個狀態條。QMainWindow常常被繼承,因為這使得封裝中央部件、選單和工具條以及視窗狀態條變得更容易,當用戶點選選單項或者工具條按鈕時,槽會被呼叫。

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

  如果是主窗體,就選擇QMainWindow,如果是頂級對話方塊,就選擇QDialog,如果不確定,或者前兩種情況都有,那麼,就選擇QWidget。