我创建了9个QPushButtons,其中objectName是E1,E2,E3,...,E9。 现在,我想用数据库中的字符串更新文本字段,所以我想做这样的事情:
query="SELECT evento FROM eventos;"
cur.execute(query)
i=1
for fetch in cur:
evento=str(fetch)
objectname="E"+str(i)
self.objectname.setText(evento)
i+=1
此循环获取9行(9个字符串)并更新按钮的显示文本。问题是我必须告诉它哪个按钮要更新,我无法弄清楚如何动态地执行它,因为行objectname="E"+str(i)
和self.objectname.setText(evento)
将不起作用,因为AtributeError: 'MyWindowClass' object has no attribute 'objectname'
答案 0 :(得分:2)
使用getattr():
getattr(self, "E"+str(i)).setText(evento)
答案 1 :(得分:0)
您也可以使用
self.findChild(QtGui.QPushButton, 'E{0}'.format(i)).setText(evento)