Я пытаюсь выровнять (выровнять) текст кнопкой, скажем, слева.
Я нашел некоторый полезный код здесь , основываясь на том, что создал код ниже, чтобы проверить, как ведет себя метка.
import tkinter as tk
import tkinter.ttk as ttk
app = tk.Tk()
style = ttk.Style()
style.layout(
'Left1.TButton',[
('Button.button', None),
('Button.focus', {'children': [
('Button.padding', {'children': [
('Button.label', {'side' : 'left'}
)]}
)]}
)]
)
print("TButton.label->justify: ", style.lookup('TButton.label', 'justify'))
print("TButton.label->side: ", style.lookup('TButton.label', 'side'))
style.configure('TButton.label', justify='left')
style.configure('TButton.label', side='left')
print("TButton.label->justify: ", style.lookup('TButton.label', 'justify'))
print("TButton.label->side: ", style.lookup('TButton.label', 'side'))
ttk.Button(text="TButton", width=100, style="TButton").pack()
ttk.Button(text="Lef1.TButton", width=100, style="Left1.TButton").pack()
print("TButton.label options:\n", style.element_options('TButton.label'))
Проблема в том, что на этикетке нет эффекта. Он остается в центре кнопки.
Что еще интереснее, так это последняя строчка.
Выход:
TButton.label options:
('compound', 'space', 'text', 'font', 'foreground', 'underline', 'width', 'anchor', 'justify', 'wraplength', 'embossed', 'image', 'stipple', 'background')
Но если я попытаюсь установить 'якорь', я получу исключение. Я знаю, что эта функция отсутствует в ttk, но почему она появляется здесь?