2
嗨,我想在QtabBar小部件中的每個選項卡中的圖標下方放置圖標和文本。默認情況下,文本和圖標被設置爲彼此相鄰,我想顯示一個在另一個下面。我們該怎麼做。QtabBar文本和圖標
嗨,我想在QtabBar小部件中的每個選項卡中的圖標下方放置圖標和文本。默認情況下,文本和圖標被設置爲彼此相鄰,我想顯示一個在另一個下面。我們該怎麼做。QtabBar文本和圖標
似乎只有一種方法來更改圖標放置 - 重新實現QTabBar的paintEvent。 這樣的代碼可能會有所幫助:
class MyTabBar : public QTabBar
{
...
protected:
void paintEvent(QPaintEvent *) {
QStylePainter painter(this);
for(int i = 0; i < 3; ++i) {
QStyleOptionTabV2 option;
initStyleOption(&option, i);
painter.drawItemPixmap(option.rect, Qt::AlignTop|Qt::AlignHCenter, option.icon);
painter.drawItemText(option.rect, Qt::AlignBottom|Qt::AlignHCenter, palette(), 1, option.text);
}
}
};