Как установить размер виджета в Tkinter?
Простой пример:
from tkinter import *
class GUI_CMP():
def __init__(self):
self.tk = Tk()
self.text = Text(self.tk,width=60,height=40)
self.text.pack()
self.tk.mainloop()
if __name__ == '__main__':
gui_cmp = GUI_CMP()
Вот как это выглядит:
Как видите, хотя я установил width=60,height=40
ширина текстового виджета меньше его высоты. Это продолжает беспокоить меня каждый раз, когда я использую tkinter. Итак, мои вопросы:
Что именно делает
40
а также60
имею в виду?По какой причине ширина текста меньше его высоты?
Каков наилучший способ контроля размера?
1 ответ
Когда вы указываете высоту они не в пикселях, они измеряются линиями в зависимости от текущего размера шрифта
и когда вы указываете ширину его символов, а не пикселей
вот почему, когда вы делаете Text(self.tk,width=60,height=40)
60 означает, что текстовый виджет имеет ширину 60 символов, а 40 означает высоту 40 строк.
вот откуда возникает путаница, потому что он не в пикселях, и если вы измените шрифт, он изменит размер текстового виджета!
и это, пожалуй, лучший способ контроля размера, сначала это просто сбивает с толку, но теперь, когда вы знаете, это будет иметь больше смысла!
взгляните на этот сайт Text Widget Info и просмотрите параметры для получения дополнительной информации