从QGroupBox中移除标题

12

如何完全删除 QGroupBox 的标题?如果只是将其设置为空,则标题所在的标签仍然占据了空间。效果如下图所示:

图片描述

但我想让它看起来像这样:

图片描述

我尝试了以下几种方法,但都没有成功:

  • 将标题字体大小设置为零
  • 通过样式表给标题设置零大小,使用 setStyleSheet("QGroupBox:title{ max-width: 0; max-height: 0; }");
  • 将标题移动到框内,使用 setStyleSheet("QGroupBox:title{ subcontrol-position: center center;}")

注意:您可能会说没有标题的分组框应该使用 QFrame。问题在于我想要混合具有和不具有标题的组/框,但框与分组框具有不同的视觉样式。因此,如果您能告诉我如何使 QFrame 看起来像 QGroupBox,那将解决我的问题。

2个回答

15

您可以使用:

setStyleSheet("QGroupBox{padding-top:15px; margin-top:-15px}")

在此输入图片描述


2
谢谢!那是一个现在可行的解决方法。我只是将“15px”更改为“1em”,以使其在我的系统上正常工作。 - Stefan Pfeifer

2
您看到的是您使用的特定样式的 bug。在其他常见的样式(如 Mac、Windows)中,这基本上可以“正常工作”,而无需进行任何特殊处理。如果您坚持使用该特定样式,则需要自己修补它,并将样式复制到您的项目中或构建整个 Qt 以获得修复的版本。

1
谢谢!你说得对,这只发生在Fusion样式中。关于此问题,这里有一个2015年1月的错误报告链接 - Stefan Pfeifer
在KDE Plasma上,默認風格也會出現同樣的問題。相當令人煩惱。 - Raven

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接