我创建了 9 个 QPushButton,其对象名称为 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' 对象没有属性 'objectname'
最佳答案
使用getattr() :
getattr(self, "E"+str(i)).setText(evento)
关于python - PyQt:如何动态调用objectNames?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36070622/