python - 当我放大窗口时,框架的旧背景颜色出现在 Tkinter
问题描述
在 Python Tkinter 中,我使用带有黑色框架背景颜色的自定义 ttk 主题。
但是,当我放大窗口时,超出框架原始大小的部分以常规灰色显示。我该如何解决?
谢谢!
解决方案
听起来您还没有配置背景框架以正确填充窗口。
如果您正在使用pack
,请确保您已使用expand
andfill
选项:
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()
推荐阅读
- kotlin - Kotlin 基础知识:RatingBar、听众
- excel - 将 excel 中每批 24RX56C 转置为 56 行 X24c 的列
- android - 如何查看android静态库的ABI?
- admob-rewardedvideoad - 如何制作不可跳过的广告?(AdMob)
- go - Golang 返回函数
- python - Django (Password_change) 不起作用 url
- android - 使用房间数据库查询在产品之间进行搜索
- jquery - 防止动态创建的 DOM 元素上的内存泄漏
- resharper - 有没有办法告诉 R# 在我运行 aa 方法后,某些类变量不会为空
- css - 删除shinydashboardPlus中右侧边栏宽度更改时出现的多余空间