#in this example len(list) is 5
i=0
while i < len(list):
label=q_label_i #creating a name for the label
self.label=QLabel() #
grid.addWidget(self.label,i ,0) # grid is a grid = QGridLayout()
i=i+1
上面的代码创建了5个标签但是它们都被称为q_label_i而不是q_label_0 q_label_1 .... q_label_4
在另一个函数中 - 我将从文件中读取数据并更新这些标签,并将它们称为q_label_0 q_label_1 .... q_label_4
任何有关如何使其发挥作用的提示都将受到高度赞赏。
答案 0 :(得分:0)
您必须处理两个名称。 qlabel绑定的变量名称和objectName
使用的Qt
。
在处理可变数量的项目时,通常最好将它们存储在字典或列表中
self.labels = dict()
for i in range(5):
name = 'q_label_{}'.format(i)
label = QLabel()
label.setObjectName(name)
grid.addWidget(label, i, 0)
self.labels[name] = label
稍后,当您想要引用标签时,只需执行
self.labels['q_label_2']