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