Python PyQt:如何动态调用objectname?

Python PyQt:如何动态调用objectname?,python,loops,dynamic,pyqt,Python,Loops,Dynamic,Pyqt,我创建了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)

我创建了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'对象没有属性“objectname”
使用:

你也可以使用

self.findChild(QtGui.QPushButton, 'E{0}'.format(i)).setText(evento)

您想要
getattr()
这是重复的吗:您想要根据在对象的
objectName
属性中设置的Qt名称查找对象吗?是的,germn!它工作得很好!非常感谢你!我现在可以吻你了!不知道这个getAttr()函数。@DiogoMagalhães不客气:)请随意接受答案。
self.findChild(QtGui.QPushButton, 'E{0}'.format(i)).setText(evento)