2012-02-28 6 views
3

私は組み込みLinux上でQt、C++を使ってウィンドウアプリケーションを開発しています。 QApplication :: GUIServerのQApplicationタイプを使用するメインウィンドウのタイトルコンテキストメニューを無効にする

アプリケーションのサイズ変更、移動、閉じるなどのオプションをユーザーが右クリックするとポップアップするコンテキストメニューを無効にしようとしています。

私はすでにメインウィンドウ上でPreventContextMenuにContextMenuPolicyを設定し、メインウィンドウにカスタムコンテキストメニューハンドラを与えてみました。

ありがとうございます。

答えて

2

このメニューは、アプリケーションではなくウィンドウマネージャによって提供されるため、無効にすることはできません。

唯一のオプションは、タイトルバーが削除されるように要求される可能性があります(windowFlags)。

+0

質問を重要な詳細で更新しました。これはLinuxに組み込まれており、ウィンドウはQApplication :: GUIServerタイプのQApplicationによって管理されています。私はそれが私の解決策に関連していると思っています。私はこの方向へ私の探索を進めました。 – bmkorkut

+0

私はタイトルが必要です。私は実際のタイトルを削除し、ラベル付きの偽のものを置くつもりだと思う。 – bmkorkut

0

これはシステムメニューです。これは、通常Windowsマネージャによって処理されます。 QTが行うことができるのは、ウィンドウマネージャーにその機能の一部を有効/無効にするヒントです。

QWidget::setWindowFlags (Qt::WindowFlags type)、おそらくQt::WindowSystemMenuHintフラグをチェックする必要があります。

+0

これらのフラグを試しただけで動作しませんでした。とにかくありがとう。 – bmkorkut

0

これを試してください:setWindowFlags(Qt :: FramelessWindowHint | Qt :: WindowTitleHint);

関連する問題