我正在尝试在 UI 元素(QLineEdit)上使用 setattr 来填充从文本文件中读取的内容。我相信为了设置 QlineEdit 它将是self.lineEdit.setText()
我正在阅读的文本文件包含一个名称及其值:
名称 1=值 1
splitLine[0] 由“Name1”组成,splitLine[1] 为“Value1”。self.Name1 是我要更改的 lineEdit 的名称,因此我使用 eval() 将实际值“Name1”传递给 setattr。
我不确定如何设置值。现在我已经尝试了这些但没有成功:
setattr(self, eval("splitLine[0]"), eval("splitLine[1]"))
setattr(self, eval("splitLine[0]"), setText(eval("splitLine[1]")))
此外,使用:
self.splitLine[0].setText(splitLine[1])
不起作用,因为它认为实际对象称为 splitLine,而不是它的值(因此我尝试了 eval() )。
# AttributeError: 'Ui_Dialog' object has no attribute 'splitLine'