原創(chuàng)|行業(yè)資訊|編輯:龔雪|2022-05-19 10:23:55.880|閱讀 289 次
概述:本文主要為大家介紹Qt Widget中的Window和對(duì)話框小部件,歡迎大家下載相關(guān)組件體驗(yàn)!
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷售中 >>
相關(guān)鏈接:
未嵌入父窗口小部件的窗口小部件稱為窗口(通常窗口有一個(gè)框架和一個(gè)標(biāo)題欄,盡管也可以使用合適的窗口標(biāo)志創(chuàng)建沒(méi)有這種裝飾的窗口),在Qt中, 和 的各種子類是最常見(jiàn)的窗口類型。
在應(yīng)用程序中,窗口提供了構(gòu)建用戶界面的屏幕空間。 窗口在視覺(jué)上將應(yīng)用程序彼此分開(kāi),并且通常提供窗口裝飾,允許用戶根據(jù)自己的喜好調(diào)整應(yīng)用程序的大小和位置。窗口通常集成到桌面環(huán)境中,并且在某種程度上由桌面環(huán)境提供的窗口管理系統(tǒng)進(jìn)行管理。 例如,應(yīng)用程序的選定窗口顯示在任務(wù)欄中。
Qt技術(shù)交流群:166830288 歡迎一起進(jìn)群討論
任何沒(méi)有父級(jí)的都將成為一個(gè)窗口,并且在大多數(shù)平臺(tái)上都會(huì)在桌面的任務(wù)欄中列出,這通常只適用于應(yīng)用程序中的一個(gè)窗口,即主窗口。
此外,通過(guò)設(shè)置 標(biāo)志,具有父級(jí)的 QWidget 可以成為窗口。 根據(jù)窗口管理系統(tǒng),這些輔助窗口通常堆疊在它們各自的父窗口之上,并且沒(méi)有它們自己的任務(wù)欄條目。
類在其構(gòu)造函數(shù)中設(shè)置 Qt::Window 標(biāo)志,因?yàn)樗辉O(shè)計(jì)為用作窗口并提供子部件不需要的設(shè)施。
提供了構(gòu)建應(yīng)用程序主用戶界面的框架,并通過(guò)子類化創(chuàng)建。QMainWindow 有自己的布局,您可以在其中添加菜單欄、工具欄、可停靠小部件和狀態(tài)欄,中心區(qū)域可以被任何類型的 QWidget 占據(jù)。
對(duì)話框窗口用作向用戶提供選項(xiàng)和選擇的輔助窗口,對(duì)話框是通過(guò)繼承 并使用小部件和布局來(lái)實(shí)現(xiàn)用戶界面來(lái)創(chuàng)建的。此外,Qt 提供了許多現(xiàn)成的標(biāo)準(zhǔn)對(duì)話框,可用于文件或字體選擇等標(biāo)準(zhǔn)任務(wù)。
主窗口和對(duì)話框都可以使用 Qt 的可視化設(shè)計(jì)工具 Qt Designer 創(chuàng)建,使用 Qt Designer 比手動(dòng)編碼要快得多,并且可以輕松測(cè)試不同的設(shè)計(jì)理念。
QWidget 提供了幾個(gè)處理小部件幾何形狀的函數(shù)。 其中一些功能在純客戶區(qū)(即不包括窗框的窗口)上運(yùn)行,其他功能包括窗框,區(qū)分以透明地涵蓋最常見(jiàn)用法的方式進(jìn)行。
請(qǐng)注意,區(qū)別僅對(duì)裝飾的頂級(jí)小部件很重要。 對(duì)于所有子窗口小部件,框架幾何圖形等于窗口小部件的客戶端幾何圖形。
此圖顯示了大多數(shù)使用的功能:
在 X11 上,窗口在窗口管理器裝飾之前沒(méi)有框架。 這在調(diào)用 QWidget::show() 和窗口接收到的第一個(gè)繪制事件之后的某個(gè)時(shí)間點(diǎn)異步發(fā)生,或者根本不發(fā)生。 請(qǐng)記住,X11 是無(wú)策略的(其他人稱之為靈活),因此您不能對(duì)窗口將獲得的裝飾框架做出任何安全的假設(shè)。
此外工具包不能簡(jiǎn)單地將窗口放置在屏幕上,Qt 所能做的就是向窗口管理器發(fā)送某些提示。窗口管理器是一個(gè)單獨(dú)的進(jìn)程,可能會(huì)服從、忽略或誤解它們,由于部分不明確的客戶端通信約定手冊(cè) (ICCCM),在現(xiàn)有窗口管理器中處理窗口放置的方式非常不同。
一旦窗戶被裝飾,X11 沒(méi)有提供標(biāo)準(zhǔn)或簡(jiǎn)單的方法來(lái)獲取框架幾何形狀。 Qt 用漂亮的啟發(fā)式方法和聰明的代碼解決了這個(gè)問(wèn)題,這些代碼適用于當(dāng)今存在的各種窗口管理器。
X11 也不提供最大化窗口的方法,() 必須模擬該功能。 它的結(jié)果取決于() 的結(jié)果和窗口管理器正確放置窗口的能力,這兩者都不能保證。
Qt技術(shù)交流群:166830288 歡迎一起進(jìn)群討論
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都網(wǎng)