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

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

文章目录

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

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


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

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

    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://i3.wp.com/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文件,你就不需要将图片文件夹和文件放在同一个目录下了,博主还是一个新手,可能还有其他更好的办法,希望这篇博客可以帮到你。

    来源:沂水弦音

    物联沃分享整理
    物联沃-IOTWORD物联网 » pyqt5插入图片的两种方法(引入资源和不引入资源)超详细

    发表评论