QWidget基本调色板(背景色,文本色)

通过QWidget的setPalette可以设置基本的调色板,比如背景色

QPalette::ColorGroup指定了基本组件的状态 比如禁用,正常 激活等不同状态

QPalette::ColorRole指定了基本的控件 Window指后端背景颜色 WindowText指的前端颜色。

两者组合起来就是某个状态下使用哪种颜色

setPalette将指定的Palette和原来的旧的数据组合起来。也就是参数Palette不用将所有的状态和颜色都指定。指定某一种就行。


对于指定ColorRole为Window刷新背景色。需要调用setAutoFillBackground(true)来明确自动刷新。使得QWidget在调用paintEvent之前将背景刷为指定的颜色


比如要设置某个WIdget的背景色

QPalette palette;

//没有指定ColorGroup表示将所有的Group都指定为这个颜色

palette.setBrush(QPalette::Window,QBrush(Qt::white));

//设置组合

Widget->setPalette(palette);

//这一句很重要。在调用paintEvent之前自动刷新背景色。(测试在win平台上除了子widget需要,否则会无效,可能是平台相关的,但是文档里面说了设置QWindow role的时候就设置为true,还是按照文档来)
Widget->setAutoFillBackground(true);




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值