python - PyQt:如何动态调用objectNames?

标签 python loops dynamic pyqt

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

相关文章:

python - 如何使用路径和参数中的空格从python执行powershell脚本

python - 循环不适用于多处理和 sleep

combinations - 为给定的基数和位数生成所有可能的排列

c++ - 使用指针作为循环增量器而不是通常的 "int i"是个坏主意吗?

jQuery createElement ("script")问题

c++ - 在运行时链接 C++ 对象?

ruby-on-rails - Rails - 'send' 和 'try' 的混合

python - 从python中的字符串列表创建给定长度的随机列表

python - 将 JSON 字符串转换为 Python 字典

javascript - 排序数组中缺少整数