最近设置背景色,被背景色搞得晕头转向,然后总结了一下用过的方法与踩过的坑,希望大家有所帮助。
- QLabel*label_ = new QLabel();
- CSS样式,直接设置样式,该方法对设有样式表的QWidget对象不会生效。
label_ ->SetStyleSheet("background-color:rgb(255,0,0)");
- CSS样式,通过ObjectName设置样式,该方法会取消掉之前对这一类对象的样式。
QStringList qss;
qss.append("QLabel#label_title{background:rgb(211,211,211);}");
this->SetStyleSheet(qss.join(""));
label_->setObjectName("label_title");
- API接口,该方法对设有样式表的QWidget对象不会生效。
QPalette pal(label_->oalette());
pal.setColor(QPalette::Background,Qt::black);
label_->setAutoFillBackground(true);
label_->setPalette(pal);
- 画笔Qpainter绘制,该方法会干掉一切的API与样式表
void paintEvent(QPaintEvent *event)
{
QPainter *painter = new QPainter(this);
painter->fillRect(this->rect(),Qt::black);
}
后续如果发现其他修改颜色的方式会更新,如果此文帮助到你( •̀ ω •́ )✧,动动小手点个赞可好O(∩_∩)O。
原创文章,转载请标明本文出处。