我正在使用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()
答案 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)')