我想我需要将 XEvent 与 QMainWindow 一起使用,以使我的应用程序即使通过窗口管理器也无法关闭,任何人都可以提供一个例子吗?
这就像一个全屏视频游戏,它阻止了所有的键盘、鼠标按钮。
PS: QWidget::grabKeyboard() && QWidget::grabMouse() 在我尝试使用“ALT_TAB”等组合键切换到其他应用程序时不起作用
谢谢。
要完全阻止来自其他应用程序的所有输入,您需要使用XGrabServer
而不是XGrabKeyboard
/XGrabPointer
组合。不知道 Qt 是否有一个 API,但你总是可以直接调用 Xlib 函数。
然而,我建议反对它。如果应用程序由于某种原因没有释放抓取,则您被卡住并需要逃到控制台以杀死它。
我认为您可以覆盖主窗口的closeEvent()并使用此处所述的ignore()方法拒绝该事件。