我正在使用Tkinter編寫python的GUI編程。
我用下面的代碼創建我的Tkinter根窗口4幀(幀1,式2,幀3和窗口4):如何通過For Loop在python中創建多個框架?
import tkinter as tki
class App(object):
def __init__(self):
self.root = tki.Tk()
self.root.wm_title("Play With python")
for r in range(8):
self.root.rowconfigure(r, weight=1)
for c in range(2):
self.root.columnconfigure(c, weight=1)
# Create Frames
Frame1 = tki.Frame(self.root, borderwidth=1, bg = 'blue')
Frame1.grid(row = 0, column = 0, rowspan = 2, columnspan = 2, sticky = 'w, e, n, s')
Frame2 = tki.Frame(self.root, borderwidth=1, bg = 'blue')
Frame2.grid(row = 2, column = 0, rowspan = 2, columnspan = 2, sticky = 'w, e, n, s')
Frame3 = tki.Frame(self.root, borderwidth=1, bg = 'blue')
Frame3.grid(row = 4, column = 0, rowspan = 2, columnspan = 2, sticky = 'w, e, n, s')
Frame4 = tki.Frame(self.root, borderwidth=1, bg = 'blue')
Frame4.grid(row = 6, column = 0, rowspan = 2, columnspan = 2, sticky = 'w, e, n, s')
app = App()
app.root.mainloop()
同樣的事情我想用一個for循環,使盡我代碼可讀性在我真正的代碼框架是圍繞12
我想對於相同的輸出下面的代碼:
import tkinter as tki
class App(object):
def __init__(self):
self.root = tki.Tk()
self.root.wm_title("Play With python")
for r in range(8):
self.root.rowconfigure(r, weight=1)
for c in range(2):
self.root.columnconfigure(c, weight=1)
# Create Frames
j = 0
for i in range(1,5):
Framei = tki.Frame(self.root, borderwidth=1, bg = 'blue')
Framei.grid(row = j, column = 0, rowspan = 2, columnspan = 2, sticky = 'w, e, n, s')
j = j + 2
app = App()
app.root.mainloop()
問題:
正如我看到的問題,此代碼創建4幀,但與Framei(而不是Frame1,Frame2,Frame3和Frame4)具有相同的名稱參考。 但我想要4個不同名稱的框架(Frame1,Frame2,Frame3和Frame4)。
我知道我的問題與運行時的變量創建非常相關,但因爲我第一次應用它所以面臨問題。
我使用的Python版本是3.0.1。
請幫助...
您應該將答案標記爲正確(點擊勾號)。 –