как настроить размер виджета в 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()

вот как это выглядит:

enter image description here

как вы можете видеть, хотя я установил width=60,height=40, ширина текстового виджета меньше его высоты.Это беспокоит меня каждый раз, когда я использую tkinter.Поэтому мои вопросы:

  1. что именно 40 и 60 В смысле?

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

  3. что самый лучший путь сделать управление размера?

1 ответов


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

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

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

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

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

взгляните на этот сайт Информация О Текстовом Виджете и просмотрите параметры для получения дополнительной информации