我创建了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/

10-09 06:32