PySide2 QFileDialog失败

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

为什么这样做:

# user select report style file
options = QFileDialog.Options()
parent = None
filters = "All Files (*);;Report Style Config (*style*.ps1)"
title = "Style Config Save File"
open_at = getcwd()
self.styleConfigFile, _ = \
    QFileDialog.getOpenFileName(parent, QObject.tr(title),
                                QObject.tr(open_at),
                                QObject.tr(filters),
                                options = options)

失败...

ERROR

> line 124, in setReportConfigFile
    QFileDialog.getOpenFileName(self, )
TypeError: 'PySide2.QtWidgets.QFileDialog.getOpenFileName' called with wrong argument types:
  PySide2.QtWidgets.QFileDialog.getOpenFileName(AsBuiltCmd)
Supported signatures:
  PySide2.QtWidgets.QFileDialog.getOpenFileName(typing.Union[PySide2.QtWidgets.QWidget, NoneType] = None, str = '', str = '', str = '', PySide2.QtWidgets.QFileDialog.Options = Default(QFileDialog.Options))
FIXME Subscripted generics cannot be used with class and instance checks

Process finished with exit code 0

我已经按照在线指南重新编写了此代码3次,每次都会遇到相同的失败。我在做什么错?

python pyside2 qfiledialog
1个回答
0
投票

答案很简单,我需要从中更改代码:

self.styleConfigFile, _ = \
    QFileDialog.getOpenFileName(parent, QObject.tr(title),
                                QObject.tr(open_at),
                                QObject.tr(filters),
                                options = options)

至此:

self.styleConfigFile = \
    QFileDialog.getOpenFileName(parent, title,
                                open_at,
                                filters,
                                options = options)[0]
© www.soinside.com 2019 - 2024. All rights reserved.