pyqt5插入图片的两种方法(引入资源和不引入资源)超详细
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
这次在做一个项目的时候深有体会,想把所学的都记录下来,也希望同时能够帮助到大家!!!
提示:以下是本篇文章正文内容,下面案例可供参考
一、引入资源文件插入图片
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属性,点击后面的空白处进入
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文件,你就不需要将图片文件夹和文件放在同一个目录下了,博主还是一个新手,可能还有其他更好的办法,希望这篇博客可以帮到你。
更多推荐
所有评论(0)