我的应用程序是一个操作系统锁定屏幕(如GDM的锁定屏幕或KDE的),所以我试图使其功能像一个。
我正在尝试让我的应用程序窗口悬停在所有其他窗口上方并禁用/拦截所有键盘快捷键(ALT-TAB
,CTRL-ALT-D
等),这会导致它消失。
有没有办法做到这一点?我100%肯定有,因为存在GUI的锁屏,但我找不到要看的地方......
答案 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)