pyqt5插入图片的两种方法(引入资源和不引入资源)超详细

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

文章目录

  • 前言
  • 一、引入资源文件插入图片
    • 1.打开Qt设计页面
    • 2.打开资源文件管理器
    • 3.新建资源文件夹
    • 4.添加前缀
    • 5.资源插入前缀
    • 6.插入图片至页面
    • 7.将图片转化为代码
    • 8.运行结果
    • 9.源码
  • 二、不引入资源插入图片
    • 1.插入图片至文件夹
    • 2.源码
    • 3.运行结果
  • 总结

前言

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


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

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

1.打开Qt设计页面

pyqt5插入图片的两种方法(引入资源和不引入资源)超详细_第1张图片

2.打开资源文件管理器

pyqt5插入图片的两种方法(引入资源和不引入资源)超详细_第2张图片

3.新建资源文件夹

****3.1打开新建页面
pyqt5插入图片的两种方法(引入资源和不引入资源)超详细_第3张图片
****3.2创建.qrc文件
ps:一般打开后默认位置就是你项目的位置无需更改
pyqt5插入图片的两种方法(引入资源和不引入资源)超详细_第4张图片

4.添加前缀

pyqt5插入图片的两种方法(引入资源和不引入资源)超详细_第5张图片
ps:添加后可对前缀进行命名,我在这就命名为background

5.资源插入前缀

ps:点击要插入到的地方,我这里只建立了一个前缀,就把图片存入在这个前缀里了
pyqt5插入图片的两种方法(引入资源和不引入资源)超详细_第6张图片
存入图片后点击ok
pyqt5插入图片的两种方法(引入资源和不引入资源)超详细_第7张图片

6.插入图片至页面

ps:此处我以lable为例,其他能插入图片控件的也是类似的办法
6.1放入lable控件
pyqt5插入图片的两种方法(引入资源和不引入资源)超详细_第8张图片
**6.2向控件内插入图片
**
找到styleSheet属性,点击后面的空白处进入
pyqt5插入图片的两种方法(引入资源和不引入资源)超详细_第9张图片
pyqt5插入图片的两种方法(引入资源和不引入资源)超详细_第10张图片
pyqt5插入图片的两种方法(引入资源和不引入资源)超详细_第11张图片
pyqt5插入图片的两种方法(引入资源和不引入资源)超详细_第12张图片
ps:我这里已经成功插入图片
pyqt5插入图片的两种方法(引入资源和不引入资源)超详细_第13张图片

7.将图片转化为代码

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

7.1转化qrc文件
pyqt5插入图片的两种方法(引入资源和不引入资源)超详细_第14张图片
ps:可能很多小伙伴在转化为py代码后打开发现并没有图片显示,最主要的原因就是没有将.qrc文件转化为.py文件
pyqt5插入图片的两种方法(引入资源和不引入资源)超详细_第15张图片
添加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
pyqt5插入图片的两种方法(引入资源和不引入资源)超详细_第16张图片

8.运行结果

pyqt5插入图片的两种方法(引入资源和不引入资源)超详细_第17张图片
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.插入图片至文件夹

pyqt5插入图片的两种方法(引入资源和不引入资源)超详细_第18张图片

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插入图片的两种方法(引入资源和不引入资源)超详细_第19张图片

总结

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

你可能感兴趣的:(python,贴图,qt,qt5,pycharm)