在Python Tkinter中,我使用具有黑框背景色的自定义ttk主题。
但是,当我放大窗口时,超出框架原始尺寸的部分会显示为常规的灰色。我该如何解决?
谢谢!
答案 0 :(得分:0)
听起来您尚未配置背景框架以正确填充窗口。
如果您使用的是pack
,请确保使用了expand
和fill
选项:
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry("200x200")
ttk.Style().configure('TFrame', background='#b22222')
backgroundFrame = ttk.Frame(root)
backgroundFrame.pack(fill="both", expand=True)
root.mainloop()
如果您使用的是grid
,请确保为框架的行和列赋予权重,并确保在框架上使用sticky
属性:
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry("200x200")
ttk.Style().configure('TFrame', background='#b22222')
backgroundFrame = ttk.Frame(root)
root.grid_rowconfigure(0, weight=1)
root.grid_columnconfigure(0, weight=1)
backgroundFrame.grid(row=0, column=0, sticky="nsew")
root.mainloop()
如果您使用的是place
,请使用相对宽度和高度:
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
root.geometry("200x200")
ttk.Style().configure('TFrame', background='#b22222')
backgroundFrame = ttk.Frame(root)
backgroundFrame.place(x=0, y=0, relwidth=1, relheight=1)
root.mainloop()