Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt和X11全屏应用程序,同时阻止窗口管理器_C++_Qt_Xorg - Fatal编程技术网

C++ Qt和X11全屏应用程序,同时阻止窗口管理器

C++ Qt和X11全屏应用程序,同时阻止窗口管理器,c++,qt,xorg,C++,Qt,Xorg,我认为我需要将XEvent与QMainWindow一起使用,以使我的应用程序即使在窗口管理器下也无法关闭,有人能举个例子吗 它就像一个全屏的视频游戏,可以屏蔽所有的键盘和鼠标按钮 注意:当我尝试切换到具有“ALT_TAB”等组合键的其他应用程序时,QWidget::grabKeyboard()和&QWidget::grabMouse()不起作用 谢谢。我认为您可以使用所述的方法覆盖主窗口的closeEvent()并拒绝事件。要完全阻止来自其他应用程序的所有输入,您需要使用XGrabServer而

我认为我需要将XEvent与QMainWindow一起使用,以使我的应用程序即使在窗口管理器下也无法关闭,有人能举个例子吗

它就像一个全屏的视频游戏,可以屏蔽所有的键盘和鼠标按钮

注意:当我尝试切换到具有“ALT_TAB”等组合键的其他应用程序时,QWidget::grabKeyboard()和&QWidget::grabMouse()不起作用


谢谢。

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

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


不过,我建议不要这样做。如果应用程序出于某种原因没有释放抓取,那么您就被卡住了,需要跳转到控制台杀死它。

我讨厌不能使用ALT+TAB的应用程序!它就是这样设计的,嗯。但是,我抓起了整个屏幕,鼠标和键盘卡住了,我的应用程序没有显示出来,它是有线的,但不管怎样,它工作了!问可能有点晚了,但我正试着做同样的事情。你是怎么做到的?