如何在PySide2中显示图像?

问题描述 投票:0回答:1

我正在尝试使用QLabel在pyside2中显示图像。我正在将Qpixmap与QLable一起使用,在这里我遇到了一些问题,即我所使用的方法仅适用于少数.png图像,并且对于具有.jpg,.jpeg和.png图像的其余图像,它也显示此错误QPixmap::scaled: Pixmap is a null pixmap

这是我正在尝试的代码

import sys
from PySide2 import QtGui, QtCore
from PySide2.QtWidgets import QFileDialog,QLabel,QAction,QMainWindow,QApplication

class Window(QMainWindow):
    def __init__(self):
        super(Window, self).__init__()
        self.setGeometry(100, 100, 500, 300)
        self.setWindowTitle("PyQT Show Image")

        openFile = QAction("&File", self)
        openFile.setShortcut("Ctrl+O")
        openFile.setStatusTip("Open File")
        openFile.triggered.connect(self.file_open)

        self.statusBar()

        mainMenu = self.menuBar()

        fileMenu = mainMenu.addMenu('&File')
        fileMenu.addAction(openFile)

        self.lbl = QLabel(self)
        self.setCentralWidget(self.lbl)

        self.home()

    def home(self):
        self.show()

    def file_open(self):
        name = QFileDialog.getOpenFileName(self, 'Open File')
        #print(name)
        self.image = QtGui.QImage(name[0])
        pixmap = QtGui.QPixmap(self.image)
        self.lbl.setPixmap(pixmap.scaled(self.lbl.size() , QtCore.Qt.KeepAspectRatio , QtCore.Qt.SmoothTransformation))


def run():
    app = QApplication(sys.argv)
    GUI = Window()
    sys.exit(app.exec_())

run()
python python-3.x pyside2
1个回答
0
投票
由于您提供的代码正在运行,因此我无法重现您的错误。
© www.soinside.com 2019 - 2024. All rights reserved.