很好的方法 的确不闪了
但有个问题 按钮上的字显示不了
不知有什么方法来解决?
另外 , 我先前做了个TabBar的类 是继承QTabBar的
代码为:
TabBar::TabBar( QWidget * parent ,const char *name): QTabBar( parent ,name)
{
this->setFocusPolicy(QWidget::NoFocus);
}
void TabBar::paint ( QPainter * p, QTab * t, bool selected ) const
{
QColor color(QColor_back);
if(selected)
{
QPixmap mp("label2.png");
QBrush brush(color,mp);
p->setBrush(brush); //(Qt::red);
p->drawRect(t->rect());
}
else
{
QPixmap mp("label1.png");
QBrush brush(color,mp);
p->setBrush(brush);
p->drawRect(t->rect());
}
QTabBar::paint(p, t, selected);
}
TabBar::~TabBar()
{
}
这段代码对QTabBar是可行的,它能改变QTabBar中tab的背景图,而且文字也没有被覆盖,切换tab文字也不会覆盖。
我在PushButton代码中试图用setBrush来显示PushButton上的背景图,运行出来确毫无变化。