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