Tkinter ttk.Frame padding передается в конструктор (работает) и передается через ttk.Style (). Configure (не работает) - PullRequest
0 голосов
/ 18 июня 2020

Я создаю приложение с помощью Tkinter, и я пытаюсь эффективно настроить все с помощью ttk.Style().configure() и создать новые или изменить существующие стили. Я пытался настроить заполнение для ttk.Frame() - .configure(), но, похоже, это не работает.

Затем я попытался добавить аргумент заполнения в конструктор ttk.Frame(), и он отлично работает. Думаю, в обоих случаях это один и тот же вариант.

Почему ttk.Style.configure() не удается добавить отступы? Есть ли еще один элемент, который нужно изменить? Я знаю, что иногда нужно изменить несколько элементов, чтобы получить результат. Но опять же, простой конструктор ttk.Frame() выполняет свою работу, как и должен.

Вот код, который работает и добавляет отступы.

import tkinter as tk
from tkinter import ttk

root = tk.Tk()
root.geometry("200x200")

frame = ttk.Frame(root, padding=10)
frame.pack(fill='both', expand=True)

button = ttk.Button(frame, text='press')
button.grid()

root.mainloop()

И этот не добавляет отступов, даже хотя стиль был изменен и установлен позже.

import tkinter as tk
from tkinter import ttk

root = tk.Tk()
root.geometry("200x200")

style = ttk.Style()
style.configure('new.TFrame', padding=10)

frame = ttk.Frame(root, style='new.TFrame')
frame.pack(fill='both', expand=True)

button = ttk.Button(frame, text='press')
button.grid()

root.mainloop()
...