Qt-设置背景色的几种方式

最近设置背景色,被背景色搞得晕头转向,然后总结了一下用过的方法与踩过的坑,希望大家有所帮助。

  • QLabel*label_ = new QLabel();
  1. CSS样式,直接设置样式,该方法对设有样式表的QWidget对象不会生效
label_ ->SetStyleSheet("background-color:rgb(255,0,0)");
  1. CSS样式,通过ObjectName设置样式,该方法会取消掉之前对这一类对象的样式
QStringList qss;
qss.append("QLabel#label_title{background:rgb(211,211,211);}");
this->SetStyleSheet(qss.join(""));
label_->setObjectName("label_title");
  1. API接口该方法对设有样式表的QWidget对象不会生效
QPalette pal(label_->oalette());
pal.setColor(QPalette::Background,Qt::black);
label_->setAutoFillBackground(true);
label_->setPalette(pal);
  1. 画笔Qpainter绘制,该方法会干掉一切的API与样式表
void paintEvent(QPaintEvent *event)
{
    QPainter *painter = new QPainter(this);
    painter->fillRect(this->rect(),Qt::black);
}

后续如果发现其他修改颜色的方式会更新,如果此文帮助到你( •̀ ω •́ )✧,动动小手点个赞可好O(∩_∩)O。
原创文章,转载请标明本文出处。

上一篇:库图代码


下一篇:GUI程序设计--班级信息收集系