1

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

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

ただし、現在Gnomeデスクトップを使用して開発しており、ウィンドウマネージャー(AFAIK)は、Alt-RightButtonマウスドラッグイベントをキャッチし、タイトルバーを保持していない場合や、現在強調表示されているウィジェットに関係なく、ウィンドウドラッグコマンドとして解釈します。

カメラのキーボードコントロールは私の対象業界でかなり標準化されているので、これは私にとって災いです。では、できればQt内からこの動作をオーバーライドし、できれば1つの特定のウィジェットクラスの1つのシナリオに焦点を合わせる方法を知っている人はいますか?

ありがとう、
カム

4

1 に答える 1

1

If you use the Qt::X11BypassWindowManagerHint on the window, then the window manager can't steal your keypresses. However, this means you lose the native window frame (including decoration, moving, and resizing), so it is likely you don't want to do this.

Another way: if your users are only on 1 or 2 varieties of Linux, add something to the installer which asks the user whether they want to manipulate the gnome (or whatever) keysettings, and if so, changes them via gconftool-2 (or equivalent).

于 2011-06-13T22:33:14.187 に答える