Почему 1 Text Widget не даёт расширяться 2 Text Widget? Tkinter Python
Мне нужно, чтобы 1 и 2 Text Widget ширина была равномерная но почему-то 1 Text Widget не изменяет размер, а 2 Text Widget изменяет размер или может быть я что-то неправильно понимаю.
Вот фрагмент кода:
from tkinter import *
tk = Tk()
wscreen = tk.winfo_screenwidth()
hscreen = tk.winfo_screenheight()
tk.title("Рандомайзер")
tk.minsize(int(wscreen / 1.6), int(hscreen / 1.4))
_output = Text(tk, state=DISABLED, font=("Comic Sans MS", 10))
_input = Text(tk, font=("Comic Sans MS", 10))
_input.pack(side=LEFT, fill=BOTH, expand=True)
_output.pack(side=RIGHT, fill=BOTH, expand=True)
tk.mainloop()
Ответы (1 шт):
Автор решения: insolor
→ Ссылка
У текстовых полей по умолчанию ширина 80 символов (выяснил с помощью print(text["width"])), они не "хотят" уменьшаться сильнее, если место под эту ширину еще есть. Можно поставить width=1 и указать какой-то начальный размер окна (чтобы при старте окно не сузилось под ширину текстовых полей в один символ), тогда текстовые поля будут одинаково равномерно сужаться и расширяться.
Пример:
from tkinter import *
tk = Tk()
wscreen = tk.winfo_screenwidth()
hscreen = tk.winfo_screenheight()
tk.title("Рандомайзер")
# tk.minsize(int(wscreen / 1.6), int(hscreen / 1.4))
tk.geometry("800x600")
_output = Text(tk, state=DISABLED, font=("Comic Sans MS", 10), width=1)
_input = Text(tk, font=("Comic Sans MS", 10), width=1)
_input.pack(side=LEFT, fill=BOTH, expand=True)
_output.pack(side=RIGHT, fill=BOTH, expand=True)
tk.mainloop()