簡體   English   中英

tkinter,遍歷范圍以創建多個標簽

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM