无法更改button的颜色和buttontext的颜色,使用qstyle自己画pushbutton,在风格选项中设置的palette
我要自己画一个button。
使用的qstyle的drawControl函数
button是画出来了的,可是我在风格选项中设置的调色板没用,无法更改button的颜色和buttontext的颜色。
请大家帮帮我。
下面是paintevent()函数中画button的代码
void CommentWidget::paintEvent(QPaintEvent *e){ QPainter painter(this); painter.save(); painter.setRenderHint(QPainter::Antialiasing);//开启边缘反锯齿 QSize size=this->size(); qDebug()<<size;QPalette palette=QPalette(Qt::white); //画刷的活动颜色组 palette.setBrush(QPalette::Window,Qt::lightGray);//窗口背景颜色 palette.setBrush(QPalette::WindowText,Qt::black);//窗口前景颜色 palette.setBrush(QPalette::Base,Qt::white); palette.setBrush(QPalette::AlternateBase,Qt::lightGray); palette.setBrush(QPalette::Text,Qt::black); palette.setBrush(QPalette::Button,Qt::white);//按钮颜色 palette.setBrush(QPalette::ButtonText,Qt::red);//按钮文字颜色//画底部按钮 QStyleOptionButton opt; opt.initFrom(this);opt.text = "Reply"; opt.rect=QRect(size.width()-180,size.height()-70+10,80,50); opt.state=QStyle::State_Enabled; opt.fontMetrics=QApplication::fontMetrics(); opt.palette=palette;this->style()->drawControl(QStyle::CE_PushButton,&opt,&painter,this);painter.restore();}