Когда я увеличиваю окно, в Tkinter появляется старый цвет фона рамки - PullRequest
0 голосов
/ 09 ноября 2018

В Python Tkinter я использую собственную тему ttk с черным цветом фона рамки.

Однако, когда я увеличиваю окно, часть, которая находится за пределами исходного размера рамки, отображается в обычном сером цвете. Как мне это исправить?

Спасибо!

1 Ответ

0 голосов
/ 09 ноября 2018

Похоже, вы не настроили фоновую рамку для правильного заполнения окна.

Если вы используете 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...