[英]Why do the buttons not appear in the tkinter window?
我目前正在嘗試學習 tkinter。 我不明白為什么我定義的按鈕沒有出現在這段代碼中:
from tkinter import *
class Window(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.master = master
button1 = Button(self, text="Exit", width=12, command=self.clickButton1)
button1.grid(row=0)
button2 = Button(self, text="Test", width=12, command=self.clickButton2)
button2.grid(row=1)
def clickButton1(self):
exit()
def clickButton2(self):
print("Nice")
root = Tk()
app = Window(root)
root.title("Tkinter window")
root.mainloop()
當我不使用 class 時,它可以工作。 像這樣的例子:
from tkinter import *
root = Tk()
button1 = Button(root, text="Works!!!")
button1.grid(row=0)
button2 = Button(root, text="Also works!!!")
button2.grid(row=1)
root.mainloop()
´´´
原因是 class 創建了一個框架,然后將小部件放入框架內。 但是,您永遠不會將框架添加到 window,因此框架內的小部件將不可見。
您需要確保並在Window
的實例上調用pack
、 grid
或place
,就像處理任何其他小部件一樣。
app = Window(root)
app.pack(fill="both", expand=True)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.