Qt中绘制窗口的背景图片注意事项(常见的setStyleSheet和QPalette)

本文介绍了在Qt中如何避免使用setStyleSheet设置窗口背景图片导致子窗口继承背景的问题。建议使用QPalette来设置背景,以保持子窗口的独立性,并讨论了setStyleSheet在不同场景下的适用性及其限制。通过QPalette,可以实现更灵活的背景图片缩放和调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一句话总结就是:使用QPalette来设置窗口的背景图片可以避免出现使用setStyleSheet设置背景后子窗口也是父窗口背景的情况。

使用QPalette绘制背景的代码如下:

    setAutoFillBackground(true);  //这句一定不能少,否则图片显示不出来。
    QPalette palette;
    palette.setBrush(QPalette::Background, QBrush(QPixmap(":/desktop/Qt-design-pic/user-passwd.jpg")));
    setPalette(palette);

使用setStyleSheet可以在Qt的design页面,右键->Change styleSheet来add background-image。或者就是在代码里实现:

this->setStyleSheet("background-image:url(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值