2012-02-28 82 views
3

我正在用嵌入式Linux上的Qt,C++開發窗口化應用程序。使用QApplication類型的QApplication :: GUIServer禁用主窗口的標題上下文菜單

我試圖禁用用戶右鍵單擊應用程序標題區域時出現的上下文菜單,該區域提供了調整大小,移動,關閉等應用程序的選項。

我已經嘗試在主窗口上將ContextMenuPolicy設置爲PreventContextMenu,併爲主窗口提供自定義上下文菜單處理程序。

在此先感謝。

回答

2

您可能無法禁用此菜單,因爲這是由窗口管理器提供的,而不是應用程序提供的。

唯一的選擇可能是請求標題欄被刪除與windowFlags

+0

我用一個重要的細節更新了我的問題,它是嵌入式Linux,窗口由QApplication :: GUIServer類型QApplication管理。我想這與我的解決方案有關,我把我的搜索引向了這個方向。 – bmkorkut 2012-02-28 14:52:59

+0

雖然我需要標題。我想我將刪除實際的標題,並將標籤放在假的標題上。 – bmkorkut 2012-02-28 15:07:22

0

這是一個系統菜單,通常由Windows管理員處理。 QT所能做的就是提示窗口管理器來啓用/禁用某些功能。

您應該檢查QWidget::setWindowFlags (Qt::WindowFlags type),也許Qt::WindowSystemMenuHint標誌。

+0

剛試過這些標誌,但沒有奏效。不管怎麼說,還是要謝謝你。 – bmkorkut 2012-02-28 15:05:03

0

試試這個:setWindowFlags(Qt :: FramelessWindowHint | Qt :: WindowTitleHint);