Qt中Ui的使用
Qt中Ui的使用
(1)ui通常是用Qt 設計師設計出來的界面文件的后綴。通常情況下ui是一個指向這個界面類的指針。ui-> 一般就是用來訪問這個界面類里面的控件。例如你的ui文件里有一個叫okButton的QPushButton。你就可以這樣來訪問這個按鈕ui->okButton。
(2)我們知道在Qt Project中,窗口類的實現有三種途徑,要么繼承QMainWindow,或是繼承QWidget,再或是繼承QDialog。而對于類似于Ui::MainWindow類的使用則有兩種方法:
? ? ? 第一種方法:假設我們的真正的窗口類叫MainWindow,它繼承于QMainWindow,那么它可以有一個Ui::MainWindow的私有成員,并在MainWindow的構造函數中,實例化這個私有的Ui::MainWindow,之后調用這個私有的Ui::MainWindow的setupUi方法,設置MainWindow的用戶界面接口,即按.ui文件的設計初始化MainWindow的界面。這樣,一個按照.ui文件設計的界面的窗口就建立起來了。
? ? ? 第二種方法:仍然假設我們的真正的窗口類叫MainWindow,它仍然要選擇QMainWindow,QWidget,QDialog中的一個類進行繼承。而與前一種方法不同的是,這個MainWindow類不需要一個Ui::MainWindow類的私有成員,而是使用了C++中的多重繼承,讓MainWindow同時繼承Ui::MainWindow。而這時只需在要使用MainWindow的時候實例化它,在它的構造函數中調用setupUi方法,即可。
(3)Ui::Dialog *ui; // 聲明一個子類
在dialog.h中我們有這么一句Ui::Dialog *ui; 使用了Ui::Dialog 來定義一個指針,但是這個Ui::Dialog并沒有實際上進行定義(我們是在下文中的ui_dialog.h中定義的Dialog),也沒有包含相關頭文件,所以用了一個前置聲明(關于前置聲明此處略) 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
(1)ui通常是用Qt 設計師設計出來的界面文件的后綴。通常情況下ui是一個指向這個界面類的指針。ui-> 一般就是用來訪問這個界面類里面的控件。例如你的ui文件里有一個叫okButton的QPushButton。你就可以這樣來訪問這個按鈕ui->okButton。
(2)我們知道在Qt Project中,窗口類的實現有三種途徑,要么繼承QMainWindow,或是繼承QWidget,再或是繼承QDialog。而對于類似于Ui::MainWindow類的使用則有兩種方法:
? ? ? 第一種方法:假設我們的真正的窗口類叫MainWindow,它繼承于QMainWindow,那么它可以有一個Ui::MainWindow的私有成員,并在MainWindow的構造函數中,實例化這個私有的Ui::MainWindow,之后調用這個私有的Ui::MainWindow的setupUi方法,設置MainWindow的用戶界面接口,即按.ui文件的設計初始化MainWindow的界面。這樣,一個按照.ui文件設計的界面的窗口就建立起來了。
? ? ? 第二種方法:仍然假設我們的真正的窗口類叫MainWindow,它仍然要選擇QMainWindow,QWidget,QDialog中的一個類進行繼承。而與前一種方法不同的是,這個MainWindow類不需要一個Ui::MainWindow類的私有成員,而是使用了C++中的多重繼承,讓MainWindow同時繼承Ui::MainWindow。而這時只需在要使用MainWindow的時候實例化它,在它的構造函數中調用setupUi方法,即可。
(3)Ui::Dialog *ui; // 聲明一個子類
在dialog.h中我們有這么一句Ui::Dialog *ui; 使用了Ui::Dialog 來定義一個指針,但是這個Ui::Dialog并沒有實際上進行定義(我們是在下文中的ui_dialog.h中定義的Dialog),也沒有包含相關頭文件,所以用了一個前置聲明(關于前置聲明此處略) 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
- 上一篇: Qt中的槽
- 下一篇: C++ QT中namespace使用?