Текст виджета кнопки не появляется при изменении размеров кнопки - PullRequest
0 голосов
/ 02 октября 2018

Я хочу создать кнопки с определенными размерами, с текстом в них.Большинство меньших кнопок не отображают текст, независимо от размера используемого текста.

См. Пример ниже:

from tkinter import *
main = Tk()
frame = Frame(main, width = 200, height = 40)
frame.pack()
button_list = []
for i in range(5):
    button_list.append(Button(frame, height = 40, width = 40, text = str(i)))
    button_list[i].place(x = i * 40, y = 0)

Ответы [ 3 ]

0 голосов
/ 02 октября 2018

В соответствии с этим учебником высота и ширина Button указаны в text lines для текстовых кнопок, тогда как размер рамки указан в pixels.Поэтому вы должны изменить определение кнопки на что-то вроде:

for i in range(5):
    button_list.append(Button(frame, height = 1, width = 5, text = str(i)))        
    button_list[i].place(x = i * 40, y = 0)

Это даст следующий вывод:

enter image description here

0 голосов
/ 02 октября 2018

В дополнение к ответу Брайана Оукли вы можете указать ширину / высоту кнопок в пикселях внутри place:

for i in range(5):
    button_list.append(Button(frame, text = str(i)))
    button_list[i].place(x=i * 40, y=0, width=40, height=40)
0 голосов
/ 02 октября 2018

Параметр кнопки width указывается в количестве символов, а не в пикселях, при использовании текста вместо изображения на кнопке.

Вы создаете кнопки длиной 40 символов.* Ширина 1005 *.Однако вы размещаете их на расстоянии 40 пикселей .Поскольку по умолчанию tkinter будет центрировать текст на кнопках, каждая кнопка закрывает текст кнопки перед ней.

...