【发布时间】:2019-08-15 10:46:22
【问题描述】:
我在 QtDesigner 中设计了一个基本的 UI。现在我试图在单击按钮时弹出一个简单的文件对话框,下面给出的是我的 GUI 代码:
from PySide2 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
.....
.....
self.input_Image_GraphicsView = QtWidgets.QGraphicsView(self.centralwidget)
self.input_Image_GraphicsView.setGeometry(QtCore.QRect(730, 110, 480, 320))
self.input_Image_GraphicsView.setObjectName("input_Image_GraphicsView")
......
self.output_Image_GraphicsView = QtWidgets.QGraphicsView(self.centralwidget)
self.output_Image_GraphicsView.setGeometry(QtCore.QRect(730, 480, 480, 320))
self.output_Image_GraphicsView.setObjectName("output_Image_GraphicsView")
......
self.file_Select_Btn = QtWidgets.QPushButton(self.centralwidget)
self.file_Select_Btn.setGeometry(QtCore.QRect(1082, 80, 121, 28))
self.file_Select_Btn.setObjectName("file_Select_Btn")
self.file_Select_Btn.clicked.connect(self.selectFile)
.....
.....
def selectFile():
self.path_To_File = QtWidgets.QFileDialog.getOpenFileName(self, QtCore.QObject.tr("Load Image"), QtCore.QObject.tr("~/Desktop/"), QtCore.QObject.tr("Images (*.jpg)"))
print(self.path_To_File)
.....
.....
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
这是我得到的错误:
TypeError: descriptor 'tr' requires a 'PySide2.QtCore.QObject' object but received a 'str'
当我不使用“tr”时,我得到了:
TypeError: 'PySide2.QtWidgets.QFileDialog.getOpenFileName' called with wrong
argument types:
PySide2.QtWidgets.QFileDialog.getOpenFileName(Ui_MainWindow, str, str, str)
Supported signatures:
PySide2.QtWidgets.QFileDialog.getOpenFileName(PySide2.QtWidgets.QWidget = None, str = '', str = '', str = '', str = '', PySide2.QtWidgets.QFileDialog.Options = Default(QFileDialog.Options))
我已阅读此处给出的 Qt 5.12 版的 python 文档:https://doc.qt.io/qtforpython/PySide2/QtWidgets/QFileDialog.html
那也没有帮助。我哪里做错了??
基本上我想:
- 获取文件对话框 -> 选择 JPG 文件
- 在 python 代码中获取文件的路径 -> 使用 GUI 上的图像填充 GraphicsView
我目前在这两个方面都在苦苦挣扎
任何帮助将不胜感激..
【问题讨论】:
标签: python-3.x pyside2 filedialog