2

我的应用程序是一个操作系统锁屏(如 GDM 的锁屏或 KDE 的),所以我试图让它像一个一样运行。

我试图让我的应用程序的窗口悬停在所有其他窗口之上,并禁用/拦截所有可能导致它消失的键盘快捷键(、、等)ALT-TABCTRL-ALT-D

有没有办法做到这一点?我 100% 确定有,因为存在带有 GUI 的锁屏,但我就是找不到可以看的地方……

4

3 回答 3

2

我不知道如何用 Qt 做到这一点,但你正在寻找的是所谓的grabbing。您可以抓住指针输入设备以及键盘

编辑:查看 Qt4 文档,您是否尝试过使用QWidget::grabMouse?看起来这个函数正是你想要的。

于 2011-07-22T19:28:28.847 回答
0

我不知道这是否是最好的解决方案,但您可以尝试使用QObject::installEventFilter().

如果您使用的是 Windows,则可以在event->type() == QEvent::WinEventAct.

我对其他操作系统不太了解,但 Qt 可能也有这方面的东西。

于 2011-07-22T21:22:51.033 回答
0

用参数继承QwidgetQt::WindowStaysOnTopHint见下文

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