控件添加图片"/>
PyQt5设计GUI(四)为控件添加图片
PyQt5设计GUI(三)多窗口跳转,信号和槽的使用
为控件添加图片
好看的窗口怎么能没有图片呢?一起来看看怎么给控件添加图片吧。
将图片导入资源浏览器
1.新建资源文件
用途,
导入图片资源,并将其转化成qrc文件
- 1处的路径是生成的qrc文件要存储的位置
- 2处填上qrc文件的文件名
2.向资源文件中导入图片
- 添加前缀:这个前缀只是一个名称,相当于文件夹的名字一样,我们这了命名为png,还可以命名jpg等,可以用来区分不同类型的图片
- 选择要添加的图片
通过StyleSheet属性添加图片
资源导入完成之后,开始为控件添加图片。
点击倒三角,会出现三种模式:
-
backgroung-image:图片平铺在窗体上,不会自适应大小
-
border-image:适应,含边框。将整个窗口填充满
-
image:适应,不含边框。
注意:通过stylesheet添加图片的话,其子控件默认继承图片的背景
如图:
在我添加的label控件里面,默认继承了父窗口的背景图片。
解决办法:
方法一: 在designer中
在自动生成的代码之前加上#控件,表示对指定控件添加图片。
原代码
border-image: url(:/png/images/周杰伦.jpg);
修改之后的代码
#MainWindow{border-image: url(:/png/images/周杰伦.jpg);}
转换成py文件后:
MainWindow.setStyleSheet("#MainWindow{border-image: url(:/png/images/周杰伦.jpg);}")
#MainWindow意思是指定MainWindow添加图片,而子控件不会继承图片背景
方法二:通过给控件添加图片背景覆盖继承来的背景
通过控件的pixmap属性添加图片,或者是stylesheet属性添加。
控件添加图片的方法
- 控件继承自QMainWindow类,当然也有stylesheet属性,跟主窗口添加背景一样,选择图片即可添加。
- 通过pixmap属性添加。
其他添加图片的方法
- 使用QPalette设置窗口背景。
- QPainter设置窗口背景。
感兴趣的可以参考一下大佬文章:
Pyqt 设置 背景颜色和背景图片、 QPalette 调色板 与QPainter 画板区别 、 不规则图片…
当GUI做完,我们不能一直在pycharm中运行程序啊,得把程序打包成exe,在windows系统下运行。
下一节,我们一起打包程序,做出自己的第一个软件吧!
PyQt5设计GUI(五)多窗口程序打包为exe
参考书目:Python GUI设计(PyQt5从入门到实战)—明日科技
更多推荐
PyQt5设计GUI(四)为控件添加图片
发布评论