1、直接去掉系統提供的窗口邊框,不能移動和改變窗口的大小。
this->setWindowFlags(Qt::FramelessWindowHint);//直接去掉系統提供的窗口邊框,不能移動和改變窗口的大小
沒有加這段入代碼之前:
加入這段代碼之後對比:
2、如果隱藏邊框後還想要把該界面至於其他界面的頂層,可以使用以下代碼:
this->setWindowFlags(Qt::X11BypassWindowManagerHint | Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint);
加上以上代碼此界面在任何其他窗口前面
Qt::WindowFlags枚舉類型(Qt::Widget是獨立窗口和子窗口兩用的,Qt::Window會有標題欄)
-
- Qt::Widget : QWidget構造函數的默認值,如新的窗口部件沒有父窗口部件,則它是一個獨立的窗口,否則就是一個子窗口部件。
- Qt::Window : 無論是否有父窗口部件,新窗口部件都是一個窗口,通常有一個窗口邊框和一個標題欄。
- Qt::Dialog : 新窗口部件是一個對話框
- Qt::Sheet : 新窗口部件是一個Macintosh表單。
- Qt::Drawer : 新窗口部件是一個Macintosh抽屜。
- Qt::Popup : 新窗口部件是一個彈出式頂層窗口。
- Qt::Tool : 新窗口部件是一個工具窗口,它通常是一個用於顯示工具按鈕的小窗
口,如果一個工具窗口有父窗口部件,則它將顯示在父窗口部件的上面,否則,將相當於使用了Qt::WindowStaysOnTopHint展示。 - Qt::Tooltip : 新窗口部件是一個提示窗口,沒有標題欄和窗口邊框.
- Qt::SplashScreen : 新窗口部件是一個歡迎窗口,它是QSplashScreen構造函數的默認值。
- Qt::Desktop : 新窗口部件是桌面,它是QDesktopWidget構造函數的默認值。
- Qt::SubWindow : 新窗口部件是一個子窗口,而無論該窗口部件是否有父窗口部件。
- Qt::X11BypassWindowManagerHint : 完全忽視窗口管理器,它的作用是產生一個根本不被管理器的無窗口邊框的窗口,此時,用戶無法使用鍵盤進行輸入,除非手動調用QWidget::ActivateWindow()函數。
- Qt::FramelessWindowHint : 產生一個無窗口邊框的窗口,此時用戶無法移動該窗口和改變它的大小。
- Qt::CustomizeWindowHint : 關閉默認的窗口標題提示。