Я использую метод tkinter pack, чтобы поместить два кадра в окно. Мне нужно расширить верхнюю рамку и рамку бота по вертикали в соотношении 2: 1
Я понимаю, что .expand()
в диспетчере сетки имеет параметр под названием rowconfigure () для этой цели. Тем не менее, я хотел бы знать, в частности, можно ли это сделать, используя только Pack ()
import tkinter as tk
from tkinter import ttk
window = tk.Tk()
window.title("Pack expand ratio - tkinter pack vs grid")
window.geometry("800x600")
window.minsize(200, 200)
frm_Top = tk.Frame(master=window, width = 600,bg= '#beb7e2', relief=tk.GROOVE, borderwidth=2)
frm_Top.pack(side =tk.TOP, fill=tk.BOTH, expand=True )
frm_Bot = tk.Frame(master=window, width = 600, bg= '#abbdee',relief=tk.GROOVE, borderwidth=2)
frm_Bot.pack(side =tk.TOP, fill=tk.BOTH, expand=True)
btn_search = ttk.Button(master=frm_Top, text="Search",width=15)
btn_quit = ttk.Button(master=frm_Bot, text="Quit", width = 15)
btn_search.pack(side =tk.TOP, ipady=20, expand=True, anchor='ne')
btn_quit.pack(side =tk.TOP, ipady=20 ,expand=False, anchor='ne')
window.mainloop()
Ie. Я пытаюсь получить те же результаты, используя следующий аналогичный пакет ()
#Frm_Top & Frm_Bot vertically in a ratio of 2:1
#ie equivalent method for using grid weights
window.rowconfigure(0, weight=2)
window.rowconfigure(1, weight=1)