TypeError:QFileDialog.history(self):未绑定方法的第一个参数必须具有类型'QFileDialog'

时间:2016-07-07 19:02:51

标签: python pyqt

我正在使用PyQT并且已经为我的GUI实例化了该类。我正在尝试查找在GUI中打开的文件的历史记录。

puts

上面的def plotButtonClicked(self): lst = QFileDialog.history(self) 由另一个创建整个GUI的函数调用。我收到以下错误:

def

有趣的是我在其他功能中一直使用TypeError: QFileDialog.history(): first argument of unbound method must have type 'QFileDialog' 。这是一个有效的实例:

QFileDialog

那么为什么fname = QFileDialog.getOpenFileName(self, 'Open File') 方法不起作用?

1 个答案:

答案 0 :(得分:1)

QFileDialog.history不是 classmethod (在C ++中也称为 static 函数)。 为了能够调用该方法,您必须在调用该方法之前将该类作为第一个参数传递(如错误所示)或实例化QFileDialog

QFileDialog.getOpenFileName的工作原因是因为它是 classmethod (静态方法),而且正如文档所说,它是convenience static function