我正在使用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')
方法不起作用?
答案 0 :(得分:1)
QFileDialog.history
不是 classmethod (在C ++中也称为 static 函数)。
为了能够调用该方法,您必须在调用该方法之前将该类作为第一个参数传递(如错误所示)或实例化QFileDialog
。
QFileDialog.getOpenFileName
的工作原因是因为它是 classmethod (静态方法),而且正如文档所说,它是convenience static function。