1.使用QPalette
2.使用Style Sheet
3.paintEvent
1.在widget中,用QPalette设置背景颜色需要加上在哪染色,如下在在背景中染色
QPalette pal;
pal.setColor(QPalette::Background,QColor(Qt::red));
this->setPalette(pal);
2.
this->setStyleSheet("background-color:black;");
3.
void Widget::paintEvent(QPaintEvent *event)
{
Q_UNUSED(event);
QPainter p(this);
p.setPen(Qt::NoPen);
p.setBrush(Qt::black);
p.drawRect(rect());
}
原文:https://blog.csdn.net/mysunshinexia01/article/details/80556791
可以用来画透明效果:
http://blog.chinaunix.net/uid-23381466-id-3898511