Как выровнять текст в кнопке в Python TTK - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь выровнять (выровнять) текст кнопкой, скажем, слева. Я нашел некоторый полезный код здесь , основываясь на том, что создал код ниже, чтобы проверить, как ведет себя метка.

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, но почему она появляется здесь?

...