Qt4:使全屏窗口无法绕过(锁定屏幕)?

时间:2011-07-22 17:24:11

标签: c++ qt4 xorg lockscreen

我的应用程序是一个操作系统锁定屏幕(如GDM的锁定屏幕或KDE的),所以我试图使其功能像一个。

我正在尝试让我的应用程序窗口悬停在所有其他窗口上方并禁用/拦截所有键盘快捷键(ALT-TABCTRL-ALT-D等),这会导致它消失。

有没有办法做到这一点?我100%肯定有,因为存在GUI的锁屏,但我找不到要看的地方......

3 个答案:

答案 0 :(得分:2)

我不知道如何使用Qt,但你要找的是grabbing。您可以抓取pointer input device以及keyboard

修改:查看Qt4文档,您是否尝试过使用QWidget::grabMouse?看起来这个功能完全符合您的要求。

答案 1 :(得分:0)

我不知道这是否是最佳解决方案,但您可以使用QObject::installEventFilter()尝试使用事件处理程序。

如果您使用的是Windows,则可以安装一个事件过滤器来处理event->type() == QEvent::WinEventAct

中的邮件

我对其他操作系统并不是很了解,但Qt可能也有相关内容。

答案 2 :(得分:0)

使用参数Qwidget继承Qt::WindowStaysOnTopHint类,见下文

myclass::myclass(QWidget *parent) : QWidget(parent,Qt::WindowStaysOnTopHint)