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