PyQt QFileInfo错误

时间:2017-08-17 23:06:29

标签: python pyqt pyqt5

我正在使用PyQt中的应用程序,当我尝试从用户选择的文件中获取QFileInfo时,我收到错误

TypeError: arguments did not match any overloaded call:
QFileInfo(): too many arguments
QFileInfo(str): argument 1 has unexpected type 'tuple'
QFileInfo(QFile): argument 1 has unexpected type 'tuple'
QFileInfo(QDir, str): argument 1 has unexpected type 'tuple'
QFileInfo(QFileInfo): argument 1 has unexpected type 'tuple'
Abort trap: 6

我已经将每个教程都引用到了发球台,但这个错误仍在继续。 我的代码如下,我只是将一个字符串传递给模块。我不知道我需要做什么。

    def __init__(self, r, c):
        super().__init__(r, c)
        self.check_change = True
        self.path = QtWidgets.QFileDialog.getOpenFileName(self,'Open File',os.getenv('Home'), 'CSV(*.csv)')        
        file_info = QFileInfo(self.path)
        file_name = file_info.fileName()
        #print(file_name)
        self.init_ui()

1 个答案:

答案 0 :(得分:1)

看起来QtWidgets.QFileDialog.getOpenFileName返回一个元组。要获得文件的路径,您似乎需要执行以下示例 - 其中_只是一个占位符(请参见此处示例:https://pythonspot.com/en/pyqt5-file-dialog/)。

self.path, _ = QtWidgets.QFileDialog.getOpenFileName(self,'Open File',os.getenv('Home'), 'CSV(*.csv)')