使用QWidget類創(chuàng)建的默認窗口有一個標題欄和系統(tǒng)圖標诈悍,標題欄埋市、最大化按鈕蛆封、最小化按鈕和關閉按鈕借浊。調(diào)用setWindowsFlags()函數(shù)或者在用構(gòu)造函數(shù)創(chuàng)建窗口時設置flags咐低,可改變窗口的類型痒筒。setWindowsFlags()的調(diào)用要在窗口顯示之前夷狰。其格式為:
setWindowsFlags(Qt.WindowFlags type)
Qt.WindowFlags在QtCore.Qt類中定義岭皂,包括:
Widget(小工具):QWidget類的默認類型
Window(窗口):QWidget類創(chuàng)建的是窗口,父組件可有可無沼头。有標題欄爷绘、最小化、最大化和關閉按鈕
Dialog(對話框):有標題欄进倍、幫助和關閉按鈕土至。窗口大小可用鼠標調(diào)整。將窗口設置為對話框類型的代碼為:
window.setWindowsFlags(QtCore.Qt.Dialog)
Sheet和Drawer(表和抽屜):窗口的Mac系統(tǒng)樣式
Popup(彈出菜單):窗口表現(xiàn)為彈出菜單樣式猾昆,沒有邊框和標題陶因,但有陰影,無法用鼠標調(diào)整大小垂蜗。
Tool(工具欄):窗口表現(xiàn)為工具欄楷扬,有邊框和比標準窗口標題欄高度小的標題欄和關閉窗口解幽,用鼠標可以調(diào)整大小。
ToolTip(提示):窗口表現(xiàn)為幫助提示烘苹,沒有邊框和標題躲株,無法用鼠標調(diào)整大小。
SplashScreen(啟動窗口):窗口表現(xiàn)為啟動窗口镣衡,沒有邊框和標題霜定,無法用鼠標調(diào)整大小。是QSplashScreen類的默認值廊鸥。
Desktop(桌面):窗口表現(xiàn)為桌面望浩,不會在屏幕上顯示黍图。
SubWindow(子窗口):窗口表現(xiàn)為子窗口曾雕,有邊框奴烙,標題欄助被,不能單獨存在,也無法用鼠標調(diào)整大小切诀。
ForeignWindow(外部窗口):表示窗口為另一進程創(chuàng)建揩环。
CoverWindow(封面窗口):在移動到平臺上最小化應用的窗口。
通過windowType()函數(shù)可獲取當前窗口的類型幅虑。
在創(chuàng)建窗口時可用“|”運行符一次設置多個屬性丰滑。下面列出QtCore.Qt常用的一些屬性,全面的內(nèi)容詳見文檔:
MSWindowsFixedSizeDialogHint - 禁止調(diào)整窗口尺寸倒庵;
FramelessWindowHint - 去除邊框和標題欄褒墨;不能調(diào)整、移動窗口擎宝;
NoDropShadowWindowHint - 去除窗口的陰影;
CustomizeWindowHint - 去除邊框和標題欄, 但增加bulk效果郁妈,尺寸可調(diào)整;
WindowTitleHint - 增加窗口標題绍申;
WindowSystemMenuHint - 增加系統(tǒng)菜單和關閉按鈕噩咪;
WindowMinimizeButtonHint - 增加最小化按鈕;
WindowMaximizeButtonHint - 增加最大化按鈕;
WindowMinMaxButtonsHint-增加最小化、最大化按鈕;;
WindowCloseButtonHint-增加關閉按鈕;
WindowContextHelpButconHint-增加幫助按鈕;;
WindowStaysOnTopHint - 將窗口置頂:
WindowStaysOnBottomHint - 將窗口置底极阅。
通過windowFlags()函數(shù)可獲取當前窗口的屬性胃碾。