首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Qt设置窗口背景颜色

Qt设置窗口背景颜色

作者头像
Qt君
发布2020-06-17 15:25:41
6.8K0
发布2020-06-17 15:25:41
举报
文章被收录于专栏:跟Qt君学编程跟Qt君学编程

1. 通过使用QPalette调色板设置后置背景颜色。

#include <QWidget>
#include <QPalette>
#include <QApplication>

int main(int argc, char **argv)
{
    QApplication a(argc, argv);
    QWidget w;
    w.resize(100, 100);
    QPalette palette(w.palette());
    palette.setColor(QPalette::Background, QColor("red"));
    w.setAutoFillBackground(true);
    w.setPalette(palette);
    w.show();
    return a.exec();
}

2. 其他方式设置背景颜色

  • 重载绘图事件设置背景颜色
void Widget::paintEvent(QPaintEvent *)
{
    QPainter p(this);
    p.setPen(Qt::NoPen);
    /* 设置红色 */
    p.setBrush(Qt::red);
    p.drawRect(rect());
}
  • 样式表设置背景颜色,设置样式表的background-color属性即可。如:
QWidget w;
/* 设置红色背景 */
w.setStyleSheet("background-color: red;")

3. 关于上述背景颜色方法使用的理解

  • 设置背景有两个图层面设置方法,一种是前置背景(绘图事件,样式表),另外一种是后置背景(调色板)。
  • 绘图事件与样式表不能同时设置,而后置(调色板)背景颜色设置不会被其他方法干扰。
  • 纯QSS美化界面优先使用样式表设置背景颜色。
  • 绘图事件设置背景颜色损耗性能,优先建议使用调色板设置背景颜色。
  • 绘图事件适合动态的背景颜色。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Qt君 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 通过使用QPalette调色板设置后置背景颜色。
  • 2. 其他方式设置背景颜色
  • 3. 关于上述背景颜色方法使用的理解
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档