淺談Qt Widget應用學習筆記
Qt Widget應用學習筆記是本文要介紹的內容,主要是來了解并學習Qt Widget的應用,具體內容的實現來看本文詳解。應用程序的主窗口是通過創建QMainWindow的派生類來完成的。QMainWindow和QDialog一樣,都是派生自QWidget。
closeEvent()是由QWidget提供的一個虛函數,在用戶關閉窗口時會被自動調用。、
setCentralWidget()將某個Widget設置為主窗口的central widget, 而central widget意味著在顯示時會占據主窗口的中央位置。
Qt下的GUI 編程支持多種圖形格式。存在多種方式為應用程序提供圖像,最常見的包括:
(1)將圖像存儲在文件中,運行時加載之。
(2)在源碼中include XPM文件(XPM文件也是合法的C++文件)。
(3)利用Qt的資源機制。
Qt的資源機制比之運行時加載更方便,并對任何支持的圖像格式都能良好工作。
Qt Widget為了利用Qt的資源機制,需要創建一個資源文件,并在.pro文件中對應添加一行來對資源文件進行標識。
例如
- RESOURCES= spreadsheet.qrc
資源文件本身則采用了簡單的XML格式。它被編譯進程序的可執行文件,因此不會被丟失。在對資源進行定位時,使用路徑前綴":/",例如“ :/images/icon.png "。而資源本身可以是任何類型的文件。
- modeless window——one that runs independently of any other windows in th application
Qt Widget對于modeless dialog ,當其被彈出時,可能處于三種情況:
(1)這是該對話框第一次被激活
(2)該對話框之前曾被激活,但用戶又將其關閉
(3)該對話框之前曾被激活,而且仍可見
show() 將一個hidden window 變為visible,而activateWIndow()則將window的狀態變為active
- model window——pops up when invoked and blocks the application,preventing any other processing or interactions until it is closed.
一個dialog若是用show()來激活,則是modeless dialog;若通過exec()來激活,則是model dialog。此外,還可以調用setModel()來設置dialog的顯式模式。
QDialog::exec() 在dialog被確認時返回值為true,否則為false。
Qt Widget在棧上創建 model dialog是一種良好的編程慣例,因為在使用完后就不再需要,而model dialog會在作用域結束后自動被銷毀。
由于多數應用程序的About box 都是高度雷同的,Qt中提供了一個方便的方案(static convenicence function):
QMessage::about(),該函數于QMessageBox::warning()很相似。
小結:淺談Qt Widget應用學習筆記的內容介紹完了,希望通過Qt Widget應用內容的學習能對你有所幫助!