私のアプリケーションは OS のロック画面 (GDM のロック画面や KDE のようなもの) であるため、そのように機能するようにしようとしています。
アプリケーションのウィンドウを他のすべてALT-TAB
のウィンドウの上に置き、すべてのキーボード ショートカット ( 、CTRL-ALT-D
など) を無効化/インターセプトしようとしています。
これを行う方法はありますか?GUI付きのロック画面が存在するので、100%あると確信していますが、見る場所が見つかりません...
私のアプリケーションは OS のロック画面 (GDM のロック画面や KDE のようなもの) であるため、そのように機能するようにしようとしています。
アプリケーションのウィンドウを他のすべてALT-TAB
のウィンドウの上に置き、すべてのキーボード ショートカット ( 、CTRL-ALT-D
など) を無効化/インターセプトしようとしています。
これを行う方法はありますか?GUI付きのロック画面が存在するので、100%あると確信していますが、見る場所が見つかりません...
Qtでのやり方はわかりませんが、探しているのはグラビングと呼ばれるものです。キーボードだけでなく、ポインター入力デバイスもつかむことができます。
編集: Qt4 ドキュメントを調べて、 QWidget::grabMouseを使用しようとしましたか? この関数はまさにあなたが望むことをしているようです。
これが最善の解決策かどうかはわかりませんが、 を使用してイベント ハンドラーを試すことができますQObject::installEventFilter()
。
Windows を使用している場合は、メッセージを処理するイベント フィルタをインストールできますevent->type() == QEvent::WinEventAct
。
他の OS についてはよくわかりませんが、Qt にはおそらくそのための機能もあります。
以下を参照Qwidget
して、パラメーターを使用してクラスを継承しますQt::WindowStaysOnTopHint
myclass::myclass(QWidget *parent) : QWidget(parent,Qt::WindowStaysOnTopHint)