Qt的工具欄在多個界面使用 1、前言 2、創建一個工具欄類 3、提升工具欄類 4、總結
1、前言
今天遇到了個問題,頂部的工具欄,像軟鍵盤,時間顯示和退出按鈕那些,想在多個界面使用,如果每個界面都新建一個會很麻煩,原本想著把主界面覆蓋掉登錄界面,只留頂部工具欄那部分,后來發現覆蓋掉后,登錄界面的工具欄也無法使用,記錄一下Qt的工具欄在多個界面使用的實現方法,方便自己會顧,也可以給有需要的人提供幫助。
2、創建一個工具欄類
2.1 新建一個工具欄類
this -> setWindowFlag ( Qt:: FramelessWindowHint) ;
3、提升工具欄類
3.1登錄界面添加工具欄
勾選全局包含,然后輸入提升類的名稱,接著選擇添加,然后點擊提升
3.2 創建工具欄對象
toolBar * uptoolBar; if ( ! uptoolBar) { uptoolBar = new toolBar ( this ) ; }
因為這個工具欄是登錄界面的子控件,你登錄界面關閉后,它并沒有銷毀,所有也會在主界面顯示,就不需要在主界面創建了,,你也可以選擇在登錄界面銷毀掉這個工具欄,然后再在主界面創建一個,如果使用的是同個工具欄就沒有必要銷毀再創建,如果不同的工具欄就銷毀再創建。
this -> close ( ) ;
mainInterface * mainui = new mainInterface ( nullptr ) ;
mainui-> setGeometry ( this -> x ( ) , this -> y ( ) - 10 , this -> width ( ) , this -> height ( ) ) ; mainui-> show ( ) ;
可以看到從登錄界面進入到主界面后,工具欄還是顯示在頂部的
4、總結
以上就是實現鼠標拖動窗口的整個過程了,瀏覽過程中,如若發現錯誤,歡迎大家指正,有問題的可以評論區留言或者私信。最后,如果大家覺得有所幫助的話,可以點個贊,謝謝大家!祝大家平安無疾,皆得所愿!