QT中Widget去除系統提供工具以及系統默認邊框

 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 : 關閉默認的窗口標題提示。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章