[英]tkinter, iterate through range to create multiple Labels
我想創建 46 個標簽,他們的名字是“cell_1......cell_n”。
我嘗試迭代使用 for 循環,將 1 添加到 n 並將字符串與下一個標簽名稱連接起來,然后使用該字符串構建下一個標簽..但這不起作用。 有什么建議?
x_axis = 50
y_axis = 50
for t in range(46):
my_label = "self.cell_" + str(t)
my_label = tk.Label(self.master, image=self.grey_cell_image, background='light
gray').place(x=x_axis, y=y_axis)
x_axis += 50
my_label = "self.cell_" + str(t)
將被替換為my_label = tk.Label(self.master, image=self.grey_cell_image, background='light gray').place(x=x_axis, y=y_axis)
因為你替換了my_label
的數據
所以你應該把代碼改成
my_label = {} #create a dictionary of label
x_axis = 50
y_axis = 50
for t in range(46):
my_label["self.cell_" + str(t)] = tk.Label(self.master, image=self.grey_cell_image, background='light gray').place(x=x_axis, y=y_axis)
x_axis += 50
既然要編輯label (n)
,可以使用my_label["self.cell_1"]
來調用 label 1,或者,如果您感到困惑,請使用此代碼
my_label = {} #create a dictionary of label
x_axis = 50
y_axis = 50
for t in range(46):
my_label[t] = tk.Label(self.master, image=self.grey_cell_image, background='light gray').place(x=x_axis, y=y_axis)
x_axis += 50
並通過my_label[n]
調用label (n)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.