簡體   English   中英

為什么tkinter window中沒有出現按鈕?

[英]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的實例上調用packgridplace ,就像處理任何其他小部件一樣。

app = Window(root)
app.pack(fill="both", expand=True)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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