在標題欄上右擊或者單擊左邊的圖片都會彈出系統選單,因為要保留標題欄本身的功能,最小化、關倍訓要圖示顯示都需要保留,查到的方法都不行,有什么簡單辦法?
uj5u.com熱心網友回復:
如果你用的QML(代碼為JavaScript風格),那么你可以把創建的Window屬性加一個flags: Qt.FramelessWindowHint,變成無邊框視窗,然后自己重新畫標題欄,如果是QSS(代碼為C++風格),你可以參考這一篇https://blog.csdn.net/dpsying/article/details/77825629,至于別的方法……如果我沒弄錯標題欄這個東西是Windows自帶的……反正我沒專門學過取消這倆功能,去掉邊框啊什么的自己重新畫一個也不算特別難(QML的話可以算很簡單),如果你不滿意的話……我也不知道有沒有更簡單的了
uj5u.com熱心網友回復:
#include <windows.h>
HWND hwnd = FindWindow(NULL, "你的視窗標題");
int style = GetWindowLong(hwnd , GWL_STYLE);
style &= ~(WS_SYSMENU);
SetWindowLong(hwnd , GWL_STYLE, style);
無論是Windows、Qt C++ 還是QML 都會有一定問題
采用 setWindowFlags(windowFlags() & ~Qt::WindowSystemMenuHint)
或者 flags = flags & ~Qt.WindowSystemMenuHint
都會使標題欄只剩title或者無效。
標題欄和邊框是屬于系統的,非要達到禁用標題欄選單的話,我覺得
1.去攔截系統滑鼠事件
2.做一個Qt的標題欄,隱藏系統標題欄
相對來說自己做一個是最簡單的了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/90020.html
標籤:Qt
