设置QGroupBox标题的对齐方式

时间:2016-02-08 19:53:16

标签: c++ linux qt

我尝试以编程方式设置QGroupBox标题的对齐方式。根据{{​​3}},我尝试按以下方式进行:

MainWidget::MainWidget (QWidget * parent)
            : QWidget (parent)
{
    setWindowTitle (tr ("QGropBox Title Alignment issue") );

    QGroupBox * group = new QGroupBox ("Group Title", this);
    QVBoxLayout * layoutTop = new QVBoxLayout ();
    layoutTop->addWidget (group);
    group->setAlignment (Qt::AlignHCenter);
    this->setLayout (layoutTop);
}

但是我得到了意想不到的结果和标题与组合框的左侧对齐。

documentation

我对环境的这种行为:

  • Debian 9.0(sid);
  • Qt 5.5.1(从存储库安装);
  • XMonad DE。

enter image description here

我在下一个环境中遇到的行为相同:

  • Ubuntu 15.10;
  • Qt 5.4(使用offline-installer手动安装);
  • KDE。

但是!如果我使用从存储库安装的Qt(Qt 5.4.2),默认情况下标题将与中心对齐。但如果我改变左边的对齐方式,它就不会改变。

我尝试与谷歌找到一些解决方案,但我没有找到类似的问题,这是不好的迹象,通常这意味着我做错了。

所以我的问题是:为什么我无法通过对齐组框标题进行管理。

1 个答案:

答案 0 :(得分:1)

在Qt 5.5.1中似乎有些视觉样式存在错误,当计算标题的直接时不考虑QGroupBox标题对齐:QTBUG-49068: QGroupBox title does not follow alignment with fusion style

您可以从git存储库下载最新版本,构建它并检查错误是否已修复(已针对Fusion样式:qt commit 139953)。

如果仍然出现错误,我认为您应该向Qt bugtracker提交问题。