我想在UI元素(QLineEdit)上使用setattr來填充從文本文件中讀取的內容。我相信,以設置QLineEdit的將是self.lineEdit.setText()在UI元素上使用setattr()
我讀的文本文件包含名稱和它的值:
名1 =值1
分裂線[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])
不工作,而不是它的值(因此爲什麼我試着eval())。
# AttributeError: 'Ui_Dialog' object has no attribute 'splitLine'
你試圖設置什麼屬性?大多數Qt對象沒有任何可以設置的屬性。您通常必須使用訪問器/增變器方法。 –
似乎沒有任何需要你的'eval'調用,因爲你對每個調用都使用了一個常量字符串。爲什麼不使用'splitline [0]'和'splitline [1]'? – Blckknght
self.splitLine [0] .setText(分裂線[1])是無效 Qt對象我設置是:self.Name1 和 分裂線[0] = 「NAME1」 我怎樣從splitLine [0]中獲取該值以設置Qt對象? – Zak44