[英]Tkinter won't accurately reflect kwargs when making a new frame. How do I change inheriting frame background color?
在我的代碼中,我創建了一個名為HistoryFrame
的 object ,它應該繼承自tkinter.Frame
。 我想將我的HistoryFrame
的背景顏色更改為在其創建時傳入的參數,並且當我打印 kwargs 時,它准確地反映了我在 {'bg':'blue', etc...} ,但它不會改變框架背景的實際顏色。
我該如何解決? 為什么會這樣?
以下代碼生成的應用程序圖片。 代碼如下。 V---V
import tkinter as tk
class HistoryFrame(tk.Frame):
def __init__(self, parent, *args, **kwargs):
print(kwargs)
tk.Frame.__init__(self, parent, *args, **kwargs)
self.parent = parent
button = tk.Button(self, text="hello", fg="blue")
button.pack(side=tk.TOP, fill=tk.X)
class MainApplication(tk.Frame):
def __init__(self, parent, *args, **kwargs):
tk.Frame.__init__(self, parent, *args, **kwargs)
self.parent = parent
self.width, self.height = max(parent.winfo_screenwidth(), 200), max(
parent.winfo_screenheight(), 200
)
self.history_frame = HistoryFrame.HistoryFrame(
self, width=max(20, self.width // 4), height=self.height, bg="blue"
)
self.history_frame.pack(side=tk.LEFT, fill=tk.X)
if __name__ == "__main__":
root = tk.Tk()
root.geometry("650x250")
MainApplication(root).pack(side="top", fill="both", expand=True)
root.mainloop()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.