当我放大窗口时,框架的旧背景色出现在Tkinter中

时间:2018-11-08 21:51:45

标签: python tkinter

在Python Tkinter中,我使用具有黑框背景色的自定义ttk主题。

但是,当我放大窗口时,超出框架原始尺寸的部分会显示为常规的灰色。我该如何解决?

谢谢!

1 个答案:

答案 0 :(得分:0)

听起来您尚未配置背景框架以正确填充窗口。

如果您使用的是pack,请确保使用了expandfill选项:

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()