Невозможно разместить tkinter.Text в макете pack () (также в grid ()) для маленького родительского виджета. - PullRequest
0 голосов
/ 10 марта 2019

tkinter.Text () возвращает слишком большие значения winfo_reqwidth () и winfo_reqheight () (для меня 566 и 342 пикселя), что не позволяет ему поместиться в небольшой виджет.

Для родительского виджета достаточно большой, все в порядке

Переопределение winfo_reqwidth () и winfo_reqheight () в дочернем классе не помогло. Он возвращает подставленные значения, но внешний вид виджета остается прежним.

import tkinter as tk

root = tk.Tk()
root.geometry('300x200')

edit = tk.Text(root)
print(edit.winfo_reqwidth(), edit.winfo_reqheight())
edit.pack(fill=tk.BOTH, expand=1)

label = tk.Label(root, bg="red")
label.pack(fill=tk.X)

tk.mainloop()

Мне нужно расширить корневое окно по высоте, чтобы увидеть красную метку.

Существует ли подсказка макета для размещения tkinter.Text в меньшем виджете, например 300x200?

Но это может быть своего рода ошибкой, когда символьные единицы используются где-то внутри вместо пикселей, как в От чего зависит размер виджета Tkinter Text?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...