2

私のアプリケーションは OS のロック画面 (GDM のロック画面や KDE のようなもの) であるため、そのように機能するようにしようとしています。

アプリケーションのウィンドウを他のすべてALT-TABのウィンドウの上に置き、すべてのキーボード ショートカット ( 、CTRL-ALT-Dなど) を無効化/インターセプトしようとしています。

これを行う方法はありますか?GUI付きのロック画面が存在するので、100%あると確信していますが、見る場所が見つかりません...

4

3 に答える 3

2

Qtでのやり方はわかりませんが、探しているのはグラビングと呼ばれるものです。キーボードだけでなく、ポインター入力デバイスもつかむことができます。

編集: Qt4 ドキュメントを調べて、 QWidget::grabMouseを使用しようとしましたか? この関数はまさにあなたが望むことをしているようです。

于 2011-07-22T19:28:28.847 に答える
0

これが最善の解決策かどうかはわかりませんが、 を使用してイベント ハンドラーを試すことができますQObject::installEventFilter()

Windows を使用している場合は、メッセージを処理するイベント フィルタをインストールできますevent->type() == QEvent::WinEventAct

他の OS についてはよくわかりませんが、Qt にはおそらくそのための機能もあります。

于 2011-07-22T21:22:51.033 に答える
0

以下を参照Qwidgetして、パラメーターを使用してクラスを継承しますQt::WindowStaysOnTopHint

myclass::myclass(QWidget *parent) : QWidget(parent,Qt::WindowStaysOnTopHint)
于 2012-06-18T10:50:47.387 に答える