С Tkinter, как сделать так, чтобы размер ttk.Button соответствовал его тексту? - PullRequest
0 голосов
/ 30 ноября 2018

Я просмотрел настройки виджета «Кнопка», но не смог найти ничего похожего на «подходящий для контента».

Нужно ли явно задавать размер, чтобы размер кнопки соответствовал text?

Пример:

import tkinter as TK
from tkinter import ttk

root = TK.Tk()
root.title('Buttons bigger than text')
root.geometry('{}x{}+0+0'.format(800, 800))
root.resizable(width=False, height=False)

mainFrame = TK.Frame(root, bg='green')
mainFrame.pack(side="top", fill="both", expand=True)

for r in range(0, 5):
    row = TK.Frame(mainFrame, bg='blue')
    mainFrame.grid_rowconfigure(r, weight=1)
    mainFrame.grid_columnconfigure(0, weight=1)
    row.pack(side="top", fill="both", expand=True)
    bt1 = ttk.Button(row, text='mybutton')
    bt2 = ttk.Button(row, text='?')
    row.grid_rowconfigure(0, weight=1)
    row.grid_columnconfigure(0, weight=1)
    row.grid_columnconfigure(1, weight=1)
    bt1.grid(row=0, column=0, sticky='nsw')
    bt2.grid(row=0, column=1, sticky='nsw')
root.mainloop()

Это ttk.Buttonвопрос?Я тестировал с Tk.Button, и он работал как ожидалось.

Среда

Python 3.6.4 Homebrew на macOS High Sierra.

1 Ответ

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

По умолчанию виджеты кнопок будут пытаться соответствовать их тексту.Это их документированное поведение.Вы явно просите их растянуть, чтобы заполнить их пространство при использовании опции sticky.

Кроме того, особенно в OSX, я думаю, что могут быть ограничения в минимальном размере кнопки при использованииродная тема, но я могу ошибаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...