Вы не предоставляете текстовому виджету явный размер, поэтому по умолчанию он равен 40x80 символов среднего размера.Наиболее распространенный способ принудительного присвоения ему определенного размера, который определяется его родителем, состоит в том, чтобы присвоить ему размер, меньший, чем содержащий виджет, а затем разрешить grid
или pack
расширять его, чтобы он соответствовал выделенному ему пространству.,Итак, начните с задания текстового виджета шириной и высотой 1 (один).
Далее, в данном конкретном случае вы звоните grid_propagate(False)
на содержащем кадре, но вы используете pack
для управления окном.Вам следует позвонить pack_propagate
, если вы используете pack
.Вы также должны указать пакету развернуть текстовый виджет, чтобы заполнить его рамку.
Наконец, нет смысла вызывать cnqTxtQ.pack_propagate(False)
, поскольку это влияет только на дочерние элементы текстового виджета, и вы не дали ему никаких дочерних элементов.
При всем этом, я настоятельно рекомендую вам не использовать grid_propagate(False)
и pack_propagate(False)
.Tkinter действительно хорош в организации виджетов.Вместо того, чтобы пытаться заставить текстовый виджет иметь определенный размер в пикселях, установите текстовый виджет на желаемый размер в строках и символах, и пусть tkinter разумно организует все остальное, чтобы соответствовать им.