刚找到了钟方法 重写 QTabBar
试了 能成!!!
代码如下:
#include <qapplication.h>
#include <qtabbar.h>
#include <qtabwidget.h>
#include <qpainter.h>
#include <qvbox.h>
class TabBar : public QTabBar
{
public: TabBar( QWidget * parent );
void paint ( QPainter * p, QTab * t, bool selected ) const;
private: QTab *tab1;
QTab *tab2;
QTab *tab3;
};
TabBar::TabBar( QWidget * parent ): QTabBar( parent )
{
tab1 = new QTab("One");
tab2 = new QTab("Two");
tab3 = new QTab("Three");
addTab(tab1);
addTab(tab2);
addTab(tab3);
}
void TabBar::paint ( QPainter * p, QTab * t, bool selected ) const
{
if(selected)
{
p->setBrush(Qt::red);
p->drawRect(t->rect());
}
QTabBar::paint(p, t, selected);
}
class TabWidget : public QTabWidget
{
public: TabWidget();
};
TabWidget::TabWidget() : QTabWidget()
{
TabBar *bar = new TabBar(this);
setTabBar(bar);
}
int main(int argc, char **argv)
{
QApplication app(argc, argv);
TabWidget box;
app.setMainWidget(&box);
box.show();
return app.exec();
}