QT-通常はウィンドウマネージャーによって処理されるイベントをキャッチします

StackOverflow https://stackoverflow.com/questions/6336730

質問

質問を簡潔に表現する方法がよくわからないので、同様の質問がある場合は、正しい方向に向けて、これを閉じてください。

現在、CADアプリを構築しています。ユーザーは、主にマウスと3つのキーボード修飾子(ALT、Shift、CTRL)を介して3Dビューポート内で対話します。シフトと制御現在選択されているツールオプションを変更し、ALTが他の3D CADアプリと同じようにカメラを操作します。

しかし、私は現在GNOMEデスクトップで開発しており、ウィンドウマネージャー(AFAIK)がAlt -rightButtonマウスドラッグイベントをキャッチし、ウィンドウドラッグコマンドとして解釈します - タイトルバーを保持していなくても、現在強調表示されているウィジェットに関係なく。

カメラキーボードコントロールは私のターゲット業界で非常に標準化されているため、これは私にとって災害です。 QT内から、できればこの動作をオーバーライドする方法を知っている人はいますか?

ありがとうございました、
カム

役に立ちましたか?

解決

QT :: x11bypasswindowmanagerhintをウィンドウで使用する場合、ウィンドウマネージャーはキープレスを盗むことができません。ただし、これは、ネイティブの窓枠を失うことを意味します(装飾、移動、サイズ変更を含む)ので、おそらく あなたはこれをしたくありません.

別の方法:ユーザーが1種類または2種類のLinuxだけである場合、インストーラーに何かを追加して、ユーザーにGNOMEを操作する(または何でも)キーセットを操作するかどうかを尋ねます。同等)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top