0
我想創建一個類,它將成爲我正在嘗試創建的「遊戲」的「自定義小部件」的模板。問題在於,如果我在調用類時只能使其工作,則指定將所有內容保存在一起的Frame對象。我一直在我的整個下午搜索,但沒有找到一個具體的答案...不能正確地「連接」一個類與它的對象
下面的代碼工作,而是僅僅需要寫StatusButton().grid()
我必須使用StatusButton().frame.grid()
from tkinter import *
from tkinter.ttk import Progressbar
class StatusButton(Frame):
def __init__(self, master):
super(StatusButton, self).__init__()
self.frame = Frame(master, padx = 10, pady = 10, bd= 5, relief = RAISED)
self.label = Label(self.frame, text = "Hunger Bar")
self.pgbar = Progressbar(self.frame)
self.button = Button(self.frame, text = "Eat")
self.label.pack()
self.pgbar.pack()
self.button.pack(pady = 5, ipadx = 15)
return
root = Tk()
buttonslist = [StatusButton(root) for x in range(16)]
for r in range(4):
for c in range(4):
StatusButton(root).frame.grid(row = r, column = c)
root.mainloop()
我猜測我沒有正確地將框架對象「連接」到類中,即使前者位於後者中,因爲當前面的代碼被執行時,但是用StatusButton().grid()
代替時,TKinter窗口正常彈出,但沒有任何內容,就像我是「網格化」一個空的Frame對象一樣。我該如何解決這個問題,以便當StatusButton().grid()
運行時,我的「自定義小部件的東西」出現?
很抱歉,如果這是一個小白錯誤,這是我的第一個星期在編程