【发布时间】:2019-05-10 01:20:37
【问题描述】:
我希望能够使用 QFileDialog 打开文件选择窗口,以便选择图像并使用 PyQt5 在我的窗口中显示它。但是,我的错误总是说“TypeError: QPixmap(): argument 1 has unexpected type 'tuple'”
这是代码行:
fname = QFileDialog.getOpenFileName(self, 'Open File', '/home', "Image Files (*.jpg *.png)")
self.labels.setPixmap(QPixmap(fname))
我尝试去掉 getOpenFileName 函数中的其他参数,只留下 self 关键字。除此之外,我还没有找到解决方案。
import sys
from PyQt5 import *
from PyQt5.QtCore import QObject, pyqtSlot
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QFileDialog, QVBoxLayout, QPushButton
from PyQt5.QtGui import QPixmap
class filePicker(QWidget):
def __init__(self):
super().__init__()
vbox = QVBoxLayout()
self.button = QPushButton("Upload Image", self)
self.labels = QLabel(self)
self.button.clicked.connect(self.on_click)
vbox.addWidget(self.button)
vbox.addWidget(self.labels)
self.setLayout(vbox)
@pyqtSlot()
def on_click(self):
fname = QFileDialog.getOpenFileName(self, 'Open File', '/home', "Image Files (*.jpg *.png)")
self.labels.setPixmap(QPixmap(fname))
myApp = QApplication(sys.argv)
myWindow = filePicker()
myWindow.setGeometry(100, 100, 1200, 800)
myWindow.setWindowTitle("Hello")
myWindow.show()
sys.exit(myApp.exec_())
if __name__ == '__main__':
main()
我希望显示我选择的图像,但我只得到错误:
TypeError: QPixmap(): argument 1 has unexpected type 'tuple'
【问题讨论】:
标签: python-3.x pyqt5 qpixmap qfiledialog