QT笔记(四):在窗口中添加背景图片时并且不覆盖其控件原来样子

时间:2024-05-22 07:18:36

1、文章一
https://blog.****.net/yuxiangdeming/article/details/78352841
QT笔记(四):在窗口中添加背景图片时并且不覆盖其控件原来样子

在构造函数中添加

this->setObjectName(“dialog”); //这句话一定要有,不然,整个界面上的控件背景都跟界面背景一样
this->setStyleSheet(“QDialog#dialog{border-image:url(me.png)}”);
(PS:这个方法对于QWidget类不好使,我也不知道为什么)

文章二:
1、
QT中设置背景图的方法不少,我这里是直接使用stylesheet来设置背景图。如果直接在UI界面进行如下所示设置

border-image: url(:/resource/2850Demo_background.jpg);
1
界面中的子控件的背景也会被设置成同一背景图片,那么如何避免呢?
很简单,只需要

#objectname{border-image: url(:/resource/2850Demo_background.jpg);}
1
代码中objectname通常为界面的类名。这样一来主界面设置的背景图片就不会对子控件造成影响啦。

QT中设置按钮控件透明化
设置按钮控件透明只需要两步
1.在UI界面的stylesheet一栏设置如下代码

background-color:transparent;
1
2.将Flat属性打上勾,这一步与setflat(true)作用相同
经过这两步按钮就被设置成透明啦

2、在UI里设置
QT笔记(四):在窗口中添加背景图片时并且不覆盖其控件原来样子