在Qt應用程序開發中,mainwindow.ui, mainwindow.h, 和 ui_mainwindow.h 這三個文件之間有著緊密的聯系,共同構成了使用Qt Designer設計的圖形用戶界面(GUI)應用程序的基礎。下面是這三個文件各自的作用及它們之間的關聯:
mainwindow.ui: 這是一個XML格式的文件,由Qt Designer生成和編輯。它描述了窗口的用戶界面布局,包括各個控件(如按鈕、標簽、輸入框等)的位置、大小、屬性以及它們之間的關系。在設計階段,開發者可以通過拖拽界面元素來直觀地構建界面,而無需編寫任何代碼。
mainwindow.h: 這是你的主窗口類(通常繼承自QMainWindow)的頭文件。它定義了MainWindow類的接口和屬性,比如類的成員變量、信號、槽函數等。在這個文件中,你會看到一個私有成員變量Ui::MainWindow *ui;,這是為了將UI設計與業務邏輯分離。這個ui指針是用來訪問和操作mainwindow.ui中定義的界面元素的。
ui_mainwindow.h: 當你使用Qt的UI編譯器(uic)處理mainwindow.ui文件時,它會被自動轉換為這個C++頭文件。ui_mainwindow.h包含了從.ui文件生成的用戶界面類,這個類是Ui::MainWindow。這個類中包含了界面元素的實例以及與它們交互的方法,比如setupUi函數,該函數負責根據.ui文件的定義來設置和布局窗口的界面元素。在mainwindow.h中通過包含ui_mainwindow.h,使得MainWindow類能夠訪問到這些界面元素。
如果說沒有包含這個ui_mainwindow.h的話,代碼的報錯信息是這樣子的: