Skip to main content
 首页 » 编程设计

python之如何将 'for i in range(x)' 中的 i 附加到 python 中的标签

2025年05月04日16myhome

我基本上有这个循环,我正在努力使 GUI 中的每个标签都有一个特定的名称,以便我可以单独更改它们。我希望它是 cardlabelxy,其中 x 是行,y 是列,但我不知道如何让它工作。这是我所拥有的:

for i in range(2): 
    for j in range(6): 
        (cardlabel+'i'+'j') = CardLabel(root) 
        (cardlabel+'i'+'j').grid(row=i, column=j) 
        (cardlabel+'i'+'j').configure(image=CardLabel.blank_image) 

谁能帮我解决语法问题?如果我只有

,循环工作正常
for i in range(2): 
    for j in range(6): 
        cardlabel = CardLabel(root) 
        cardlabel.grid(row=i, column=j) 
        cardlabel.configure(image=CardLabel.blank_image) 

但是它们都被称为我不想要的 cardlabel。

请您参考如下方法:

不要构建动态变量; keep your data out of your variables .而是构建一个列表或字典。

例如,对于字典,它是:

card_labels = {} 
 
for i in range(2): 
    for j in range(6): 
        label = CardLabel(root) 
        label.grid(row=i, column=j) 
        label.configure(image=CardLabel.blank_image) 
        card_labels[i, j] = label 

这将 (i, j) 元组中键入的标签存储在 card_labels 字典中。