2011-05-30 69 views
2

嗨,我想在QtabBar小部件中的每個選項卡中的圖標下方放置圖標和文本。默認情況下,文本和圖標被設置爲彼此相鄰,我想顯示一個在另一個下面。我們該怎麼做。QtabBar文本和圖標

回答

2

似乎只有一種方法來更改圖標放置 - 重新實現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); 
     } 
    } 
};