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 QDialog和GNOME 3,如何显示关闭按钮/标题栏并使其可移动?_C++_Qt_Dialog_Gnome 3 - Fatal编程技术网

C++ Qt QDialog和GNOME 3,如何显示关闭按钮/标题栏并使其可移动?

C++ Qt QDialog和GNOME 3,如何显示关闭按钮/标题栏并使其可移动?,c++,qt,dialog,gnome-3,C++,Qt,Dialog,Gnome 3,在GNOME3中,当显示任何QDialog时,它似乎无法移动,并且没有标题栏 有没有办法重新启用标题栏并使其可移动?我试图改用QMainWindow作为解决方案,但它出现在任务栏中,不会显示为“模式”对话框。可能会帮助您: 安装配置编辑器(dconf编辑器) 打开它:Alt+F2,进入dconf编辑器,按enter 转到:/org/gnome/shell/overrides并选择附加模态对话框 将使用默认值更改为关闭 将自定义值更改为False 在Alt+F2提示符中键入r以重新启动Gnome

在GNOME3中,当显示任何QDialog时,它似乎无法移动,并且没有标题栏


有没有办法重新启用标题栏并使其可移动?我试图改用QMainWindow作为解决方案,但它出现在任务栏中,不会显示为“模式”对话框。

可能会帮助您:

  • 安装配置编辑器(dconf编辑器)
  • 打开它:Alt+F2,进入dconf编辑器,按enter
  • 转到:/org/gnome/shell/overrides并选择附加模态对话框
  • 将使用默认值更改为关闭
  • 自定义值更改为False

  • 在Alt+F2提示符中键入r以重新启动Gnome shell并查看更改(QDialogs应可移动)。

    当我在对话框(至少是无标题栏部分)中遇到此问题时,我通过将对话框的父对象设置为null ptr而不是设置真正的父对象来解决此问题


    现在,也就是说,在gnome中设置配置选项可能是一个更好的解决方案,如果它能工作的话(我没有验证它)。我对这个解决方案唯一的不满是,它在另一台计算机上的行为会有所不同。同样,有人可能会争辩说,配置选项的意义在于该机器的所有者可以决定。

    请注意,“模式”仅在windows环境下才有意义。模态对话框的行为是GNOME3的一个“特性”。一般来说,您可能不应该试图干扰窗口系统的默认行为。还请注意,此行为可以从Gnome3本身进行配置,因此如果您不去管它,用户仍然可以选择他们希望它的行为方式。谢谢@Chris,我想我还是不去管它,即使它会让我的应用看起来很糟糕:(