提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

前言

这次在做一个项目的时候深有体会,想把所学的都记录下来,也希望同时能够帮助到大家!!!


提示:以下是本篇文章正文内容,下面案例可供参考

一、引入资源文件插入图片

1.打开Qt设计页面

在这里插入图片描述

2.打开资源文件管理器

在这里插入图片描述

3.新建资源文件夹

****3.1打开新建页面
在这里插入图片描述
****3.2创建.qrc文件
ps:一般打开后默认位置就是你项目的位置无需更改
在这里插入图片描述

4.添加前缀

在这里插入图片描述
ps:添加后可对前缀进行命名,我在这就命名为background

5.资源插入前缀

ps:点击要插入到的地方,我这里只建立了一个前缀,就把图片存入在这个前缀里了
在这里插入图片描述
存入图片后点击ok
在这里插入图片描述

6.插入图片至页面

ps:此处我以lable为例,其他能插入图片控件的也是类似的办法
6.1放入lable控件
在这里插入图片描述
**6.2向控件内插入图片
**
找到styleSheet属性,点击后面的空白处进入
![在这里插入图片描述](https://img-blog.csdnimg.cn/cdd375fb8fe04664907ebf3699d6768c.png
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ps:我这里已经成功插入图片
在这里插入图片描述

7.将图片转化为代码

ps:这里我已经将ui文件转化为py文件了,不会的伙伴可以去看关于转化的方法

7.1转化qrc文件
在这里插入图片描述
ps:可能很多小伙伴在转化为py代码后打开发现并没有图片显示,最主要的原因就是没有将.qrc文件转化为.py文件
在这里插入图片描述
添加PyRCC,可参考
英文版:https://blog.csdn.net/See_Star/article/details/118857818?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165106813916781685370450%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165106813916781685370450&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-5-118857818.142v9pc_search_result_cache,157v4control&utm_term=%E6%B7%BB%E5%8A%A0PyRcc%E9%85%8D%E7%BD%AE&spm=1018.2226.3001.4187
汉化版:https://blog.csdn.net/jia666666/article/details/81841050?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165106813916781685370450%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165106813916781685370450&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-2-81841050.142v9pc_search_result_cache,157v4control&utm_term=%E6%B7%BB%E5%8A%A0PyRcc%E9%85%8D%E7%BD%AE&spm=1018.2226.3001.4187
在这里插入图片描述

8.运行结果

在这里插入图片描述
ps:import pictures一定写在主程序调用的前面

9.源码

from PyQt5 import QtCore, QtGui, QtWidgets
import sys

class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(645, 500)
        self.label = QtWidgets.QLabel(Form)
        self.label.setGeometry(QtCore.QRect(140, 100, 381, 291))
        self.label.setStyleSheet("border-image: url(:/background/images/小黄人.png);")
        self.label.setText("")
        self.label.setObjectName("label")

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
import pictures
if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_Form()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

二、不引入资源插入图片

1.插入图片至文件夹

在这里插入图片描述

2.源码

ps:因为太简单就直接附上源码了,加一点简单的注释

from PyQt5.QtGui import *#####需要自己添加的库
from PyQt5 import QtCore, QtGui, QtWidgets
import sys

class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(645, 500)
        self.label = QtWidgets.QLabel(Form)
        self.label.setGeometry(QtCore.QRect(140, 100, 381, 291))
        self.label.setPixmap(QPixmap('images\yellow.png'))# 图片路径
        self.label.setText("")
        self.label.setObjectName("label")

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_Form()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

3.运行结果

在这里插入图片描述

总结

这里给大家讲述了pyqt5插入图片的两种方法,我个人呢还是推荐第一种,虽然第一种配置有点麻烦,但是可以利用代码随意的改变图片的大小,最重要的是如果后期你需要打包成exe文件,你就不需要将图片文件夹和文件放在同一个目录下了,博主还是一个新手,可能还有其他更好的办法,希望这篇博客可以帮到你。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐