Eric6中使用PYQT5在窗口显示图片
Eric6的图形设计界面使用的是PYQT5的工作界面
基本环境,win10,Python3,pyqt5,Eric6
如下图,新建一个窗口,然后拖一个graphics view部件上去,窗口UI完成
接下来是代码:
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(653, 483)
self.hxx = QtWidgets.QGraphicsView(Form)
self.hxx.setGeometry(QtCore.QRect(-5, 1, 661, 481))
self.hxx.setObjectName("hxx") #以上代码是eirc6编译窗口后自动生成的
self.hxx.scene = QtWidgets.QGraphicsScene()
#创建一个图片元素的对象
item=QtWidgets.QGraphicsPixmapItem(p)
#创建一个变量用于承载加载后的图片
self.hxx.scene.addItem(item) #将加载后的图片传递给scene对象
self.hxx.setScene(self.hxx.scene) #这个我也不知道是做了个啥
self.retranslateUi(Form) #eirc6编译窗口后自动生成
QtCore.QMetaObject.connectSlotsByName(Form)#eirc6编译窗口后自动生成
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Form = QtWidgets.QWidget() #以上代码是eirc6编译窗口后自动生成的
p=QtGui.QPixmap()
p.load('timg.jpg') #加载图片
ui = Ui_Form()
ui.setupUi(Form)
Form.show()
sys.exit(app.exec_())
需要注意QGraphicsScene() 与QGraphicsPixmapItem这2个类在qt4中的父类似乎是QtGui,但是在qt5中变成了QtWidgets.对此不是很确定.
我在4.5手册中查到的他们是属于QtGui模块的,但是在用PYTHON3运行文件后出现如下错误:
module 'PyQt5.QtGui' has no attribute 'QGraphicsScene'
手册中的内容是:
QGraphicsScene Class Reference
[QtGui module]
The QGraphicsScene
class provides a surface for managing a large number of 2D graphical items.
本人刚刚学习编程,对代码的注释全部为自己的理解,如有错误,欢迎大佬指正
图片是百度随便搜的一张图,不承担任何商业责任
重要参考http://blog.sina.com.cn/s/blog_9b78c91101019v*n.html
以上是 Eric6中使用PYQT5在窗口显示图片 的全部内容, 来源链接: utcz.com/a/52674.html