#python #python-3.x #user-interface #tkinter
Вопрос:
Можно ли указать размер рамки в окне tkinter.
Что я пытаюсь сделать, так это то, что у меня есть два кадра внутри ОСНОВНОГО кадра, и мне нужно, чтобы они занимали доступное пространство в соотношении 7:3.
Я не смог найти решение своей проблемы.
Мой ожидаемый результат таков.
- Какой менеджер макетов предоставит мне эту функцию
- Будет ли это ограничивать какие-либо другие функции
- Будет ли он изменять свой размер, если размер окна будет изменен
Ответ №1:
Одним из способов было бы использовать place
с relx
, rely
, relheight
и relwidth
.
Вот минимальный пример:
import tkinter as tk
root = tk.Tk()
frame1 = tk.Frame(root, bg='green')
frame1.place(relx=0.0, relheight=1, relwidth=0.7)
#tk.Label(frame1, text='70%', bg='red').pack(expand=1, fill='both')
frame2 = tk.Frame(root, bg='blue')
frame2.place(relx=0.7, relheight=1, relwidth=0.3)
#tk.Label(frame2, text='30%', bg='yellow').pack(expand=1, fill='both')
root.mainloop()
Комментарии:
1. Это сработало идеально, как и ожидалось, но для получения знаний это можно сделать с любым другим менеджером.
2. @EzyGrip Вы, вероятно, можете, но я не думаю, что вы получите этот контроль при использовании других менеджеров компоновки.