2016-02-08 88 views
0

我嘗試以編程方式設置QGroupBox標題對齊。按照documentation我嘗試這樣做以下列方式:設置QGroupBox標題對齊

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); 
} 

但我有意想不到的結果和標題與組框的左邊對齊。

enter image description here

這樣的行爲我都與環境有:

  • 的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),標題將默認與中心對齊。但是,如果我改變左對齊,它不會改變。

我嘗試用Google找到一些解決方案,但我還沒有找到類似的問題,這是不好的跡象,通常這意味着我做了一些錯誤的事情。

所以我的問題是:爲什麼我無法通過對齊組框標題進行管理。

回答

1

看起來像在Qt 5.5.1中,當計算標題的矩形時不考慮QGroupBox標題對齊時,某些視覺樣式存在缺陷:QTBUG-49068: QGroupBox title does not follow alignment with fusion style

你可以從git倉庫下載最新的版本,編譯它並檢查bug是否已經修復(已經用於Fusion風格:qt commit 139953)。

如果錯誤仍然存​​在,我認爲您應該向Qt bugtracker提交問題。

+0

我試過用不同的'-style'選項午餐我的例子。使用'fusion'和'gtk'存在問題,但是'windows'不存在。 – Gluttton