Как установить размер виджета в 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. Итак, мои вопросы:

  1. Что именно делает 40 а также 60 имею в виду?

  2. По какой причине ширина текста меньше его высоты?

  3. Каков наилучший способ контроля размера?

1 ответ

Решение

Когда вы указываете высоту они не в пикселях, они измеряются линиями в зависимости от текущего размера шрифта

и когда вы указываете ширину его символов, а не пикселей

вот почему, когда вы делаете Text(self.tk,width=60,height=40) 60 означает, что текстовый виджет имеет ширину 60 символов, а 40 означает высоту 40 строк.

вот откуда возникает путаница, потому что он не в пикселях, и если вы измените шрифт, он изменит размер текстового виджета!

и это, пожалуй, лучший способ контроля размера, сначала это просто сбивает с толку, но теперь, когда вы знаете, это будет иметь больше смысла!

взгляните на этот сайт Text Widget Info и просмотрите параметры для получения дополнительной информации

Другие вопросы по тегам