Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.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++ 在OS X上当前活动空间上显示QDialog_C++_Macos_Qt_Qt4 - Fatal编程技术网

C++ 在OS X上当前活动空间上显示QDialog

C++ 在OS X上当前活动空间上显示QDialog,c++,macos,qt,qt4,C++,Macos,Qt,Qt4,我目前正在开发一个应用程序,当某项任务完成时,它会弹出一个对话框(想想类似咆哮的声音)来提示用户 如果我在一个空间上启动一个操作,然后移动到另一个空间,当操作完成时,我将被迫返回到第一个(初始)空间。我相信这是QDialog获得关注的结果,尽管这只是一个假设 有没有办法在当前活动的共享空间上创建QDialog show() EDIT如果我设置窗口标志Qt::Popup,对话框的行为几乎与我想要的完全一样。也就是说,它显示在当前活动空间中。但是,它也会捕获输入并阻止用户与应用程序的其他部分交互。此

我目前正在开发一个应用程序,当某项任务完成时,它会弹出一个对话框(想想类似咆哮的声音)来提示用户

如果我在一个空间上启动一个操作,然后移动到另一个空间,当操作完成时,我将被迫返回到第一个(初始)空间。我相信这是QDialog获得关注的结果,尽管这只是一个假设

有没有办法在当前活动的共享空间上创建QDialog show()

EDIT如果我设置窗口标志Qt::Popup,对话框的行为几乎与我想要的完全一样。也就是说,它显示在当前活动空间中。但是,它也会捕获输入并阻止用户与应用程序的其他部分交互。此外,如果它失去焦点,它将完全消失

  • 我可以将弹出窗口设置为不获取输入吗
  • 即使他们失去焦点,我能让他们留在屏幕上吗

  • 我认为您在Qt中看到了一个bug。也许您可以将Qt升级到新版本?(我会找到Qt bug跟踪器报告,但该网站现在似乎已经关闭)@JeremyFriesner不幸的是,我被这个版本的Qt卡住了。bug报告将非常有用;碰巧知道它叫什么,以便我以后能找到它?似乎我可以通过设置windows标志Qt::popup来获得我想要的行为。但是,它会抓取输入,如果单击另一个窗口,窗口就会消失。在维护Qt::popup的其他属性的同时,如何防止最后两点出现?不要使用QDialog,因为它总是试图获取输入。使用QWidget时始终在顶部和顶部popup@KamilKlimek似乎Qt::Popup也会阻止输入。也就是说,如果我有多个弹出窗口,那么最后一个显示的弹出窗口将阻止您与其他弹出窗口交互。所以我不确定这是否有效,但我会测试一下。