0

我想我需要将 XEvent 与 QMainWindow 一起使用,以使我的应用程序即使通过窗口管理器也无法关闭,任何人都可以提供一个例子吗?

这就像一个全屏视频游戏,它阻止了所有的键盘、鼠标按钮。

PS: QWidget::grabKeyboard() && QWidget::grabMouse() 在我尝试使用“ALT_TAB”等组合键切换到其他应用程序时不起作用

谢谢。

4

2 回答 2

2

要完全阻止来自其他应用程序的所有输入,您需要使用XGrabServer而不是XGrabKeyboard/XGrabPointer组合。不知道 Qt 是否有一个 API,但你总是可以直接调用 Xlib 函数。

然而,我建议反对它。如果应用程序由于某种原因没有释放抓取,则您被卡住并需要逃到控制台以杀死它。

于 2011-06-08T10:58:23.640 回答
0

我认为您可以覆盖主窗口的closeEvent()并使用此处所述的ignore()方法拒绝该事件。

于 2011-06-08T10:53:35.517 回答