我在將QLabel
垂直居中置於QHBoxLayout
內有點問題。相關一張我的代碼如下:在水平佈局中垂直居中標籤
QFrame* topBar = new QFrame();
topBar->setStyleSheet("background-color: #2c3d50;border-bottom: 3px solid #2c92b6;");
topBar->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed);
topBar->setFixedHeight(24);
QHBoxLayout* topBarLayout = new QHBoxLayout();
QLabel* label = new QLabel("MSFT");
label->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Preferred);
label->setStyleSheet("font-size: 15px;font-weight: bold;border: 0px;");
label->setMinimumHeight(15);
topBarLayout->addWidget(label);
topBar->setLayout(topBarLayout);
topLayout->addWidget(topBar);
我的地方目標是有垂直居中的標籤。我的嘗試:
Qt::AlignVCenter
- 沒有影響QSizePolicy::PreferredSize
和QSizePolicy::Expanding
造成垂直收縮標籤不minimumHeight
/fixedHeight
,在這裏我希望它自由擴展到父- 的高度變化
minimumHeight
或加入padding/margin:
,這隻會繼續向下移動QLabel
。
我的最終目標是要建立固定的高度和可變寬度的條(照片中的暗藍色的東西),與標籤和按鈕(如標題,關閉,最大化等)對齊在兩邊,不管酒吧的寬度。
因特網和說,增加另一個QBoxLayout
居中Label
垂直可以解決這個問題,但我會加入大量的組件是吧,所以這個「解決方案」將是非常不切實際的。
TL; DR:如何在水平佈局中將Label
(或其文本)垂直對齊?
@ G.M。正如我的文章所述,使用alignment屬性並不是很有幫助,結果如圖所示。 – user35443
@GCyrillus這是Qt,HTML不會生成,樣式表在上面的代碼片段中。 – user35443
如果您只是將調用移除到'setSizePolicy',會發生什麼? –