我正在使用什么:Tkinter庫,setattr()函式
我想要的是:通過使用for回圈創建一些帶有一些引數和大致相似名稱的小部件。然后,我希望能夠使用相同的回圈設定它們的位置
它現在看起來如何:
class Window(Tk):
def __init__(self):
Tk.__init__(self)
for i in range(n):
setattr(Label(self, text=f"name{i}", OTHER_OPTIONS), f"name{i}", _value)
name{i}.place(y=0 10*i)
我希望看到:從 name0 到 nameN 的一列文本,每個之間有 10 個單位
我需要它做什么?:創建一個函式,我可以在其中發送物件名稱、文本、背景和其他標簽選項等引數
提前感謝您的回答!
uj5u.com熱心網友回復:
你讓這變得比它需要的更困難。只需將標簽存盤在串列或字典中。
self.labels = []
for i in range(n):
label = Label(self, ...)
self.labels.append(label)
我也強烈建議反對place。pack使用和創建回應式應用程式要容易得多grid。由于place您需要做更多的作業,而且很容易創建一個看起來不錯的 UI,但它只適用于一種特定的配置(解析度、默認字體、視窗大小)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/483749.html
