我尝试在UI元素(QLineEdit)上使用setattr来填充从文本文件中读取的内容。我相信为了设置QlineEdit,它应该是self.lineEdit.setText()
我正在读取的文本文件由名称及其值组成:
名称1=值1
拆分线[0]由“名称1”组成,拆分线[1]为“值1”。自我名称1是我要更改的lineEdit的名称,因此我使用eval()将实际值“Name1”传递给setattr。在
我不知道如何设置这个值。现在我尝试了这些,但没有成功:
setattr(self, eval("splitLine[0]"), eval("splitLine[1]"))
setattr(self, eval("splitLine[0]"), setText(eval("splitLine[1]")))
此外,使用:
^{pr2}$它认为实际对象名为splitLine,而不是它的值(因此我尝试eval())。在
# AttributeError: 'Ui_Dialog' object has no attribute 'splitLine'
不需要
eval
;splitLine
包含字符串,这是第二个参数所需的类型,对于第三个参数来说足够了。在您需要使用
getattr
,而不是setattr
。也就是说,首先需要获取line edit对象(通过其属性名),这样就可以调用其setText
方法来填充字段:或者在一行中:
^{pr2}$相关问题 更多 >
编程相关推荐