生活随笔
收集整理的這篇文章主要介紹了
Qt::WindowFlags
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
QT中沒有父組件的頂級組件叫窗口。
Qt::WindowFlags:
Qt::Widget:這是QWidget的默認類型。如果它們有父級,這種類型的部件是子部件,如果沒有父控件,則為獨立窗口。另請參見Qt :: Window和Qt :: SubWindow。Qt::Window:表示小部件是一個獨立窗口,無論窗口小部件是否具有父控件,通常具有窗口系統框架和標題欄。 請注意,如果部件沒有父控件,則無法取消設置此標記(即如果存在父控件,則可以取消此標記,否則,必須存在此標記用以標識此控件是個獨立窗口)。??Qt::Dialog:指示部件是應該作為對話框窗口(即標題欄中通常沒有最大化或最小化按鈕)。這是QDialog的默認類型。如果要將其用作模態對話框,則應從另一個窗口啟動它,或者如果有父窗口,則與QWidget::windowModality屬性一起使用。如果將其設置為模態,則對話框將阻止應用程序中的其他頂級窗口獲取任何輸入。我們將具有父級的頂級窗口稱為輔助窗口。Qt::Sheet:表示該窗口是Macintosh工作表。 由于使用工作表意味著窗口模態,推薦的方法是使用QWidget :: setWindowModality()或QDialog :: open()。Qt::Drawer:表示該窗口小部件是Macintosh抽屜。Qt::Popup:表示窗口小部件是彈出式頂級窗口,即它是模態的,但具有適合彈出菜單的窗口系統框架。Qt::Tool:表示窗口小部件是工具窗口。工具窗口通常是一個小窗口,其標題欄和裝飾比通常小,通常用于工具按鈕的集合。 如果有父部件,則工具窗口將始終保持在其上。 如果沒有父部件,您可以考慮使用Qt :: WindowStaysOnTopHint使其位于最頂端。 如果窗口系統支持它,工具窗口可以用更輕的框架裝飾。它也可以與Qt :: FramelessWindowHint結合使用。 在macOS上,工具窗口對應浮動類窗口。 這意味著窗口存在于正常窗口之上; 不可能在它上面放一個普通的窗口。 默認情況下,當應用程序處于非活動狀態時,工具窗口將消失。 這可以通過Qt :: WA_MacAlwaysShowToolWindow屬性來控制。Qt::ToolTip:表示窗口小部件是工具提示。 這在內部用于實現工具提示,沒有標題欄和窗口邊框。Qt::SplashScreen:表示該窗口是閃屏。 這是QSplashScreen的默認類型。Qt::Desktop:表示此小組件是桌面。 這是QDesktopWidget的類型。Qt::SubWindow:表示此窗口小部件是子窗口,例如QMdiSubWindow窗口小部件。Qt::ForeignWindow:指示此窗口對象是表示由另一個進程創建的本機平臺窗口或手動使用本機代碼的句柄。Qt::CoverWindow:表示該窗口代表一個封面窗口,例如,當應用程序在BlackBerry平臺上最小化時顯示。
部分標志用于設置窗口管理器
Qt::FrameWindowHint: // 沒有邊框的窗口Qt::WindowStaysOnTopHint: // 總在最上面的窗口Qt::CustomizeWindowHint: // 自定義窗口標題欄,以下標志必須與這個標志一起使用才有效,否則窗口將有默認的標題欄Qt::WindowTitleHint // 顯示窗口標題欄Qt::WindowSystemMenuHint // 顯示系統菜單Qt::WindowMinimizeButtonHint // 顯示最小化按鈕Qt::WindowMaximizeButtonHint // 顯示最大化按鈕Qt::WindowMinMaxButtonsHint // 顯示最小化按鈕和最大化按鈕Qt::WindowCloseButtonHint // 顯示關閉按鈕
還有許多標志可用于自定義頂級窗口的外觀。 這些對其他窗口沒有影響:
Qt::MSWindowsFixedSizeDialogHint:在Windows上為窗口提供精簡的對話框邊框。 此樣式傳統上用于固定大小的對話框。Qt::MSWindowsOwnDC:在Windows上為窗口提供自己的顯示上下文。Qt::BypassWindowManagerHint:此標志可用于向平臺插件指示應禁用“所有”窗口管理器協議。 此標志的行為會有所不同,具體取決于運行應用程序的操作系統以及正在運行的窗口管理器。 該標志可用于獲取沒有配置集的本機窗口。Qt::X11BypassWindowManagerHint:完全繞過窗口管理器。 這導致無邊界窗口根本不受管理(即,除非您手動調用QWidget :: activateWindow(),否則沒有鍵盤輸入)。Qt::FramelessWindowHint:生成無邊框窗口。 用戶無法通過窗口系統移動或調整無邊框窗口的大小。 在X11上,標志的結果取決于窗口管理器及其理解Motif和/或NETWM提示的能力。 大多數現有的窗口管理器都可以處理。Qt::NoDropShadowWindowHint:在支持平臺上禁用窗口投影。
總結
以上是生活随笔為你收集整理的Qt::WindowFlags的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。