Sayfa çerçevesinde, iç Çerçevenin içinde iki çerçeveyi ağırlıklandırdım, böylece bunların her biri ekranın yarısını alsın, ancak, bu çerçevelerden birine bir pencere öğesi eklediğimde, örnek kutusu bir örnek olarak kullandım büyüktür, çerçevelerden biri şimdi diğerinden daha fazla alır. Bir pencere öğesi eklendiğinde çerçevelerin boyutlarını değiştirmemesi ve her birinin pencerenin boyutunun yarısı kadar kalması için nasıl yapabilirim?tkinter - Widget eklendiğinde çerçeve değiştirme boyutu nasıl durdurulur?
import tkinter as tk
from tkinter import ttk
class Program(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
tk.Tk.iconbitmap(self, default = "")
tk.Tk.wm_title(self, "")
container = tk.Frame(self)
container.pack(side="top", fill="both", expand=True)
container.grid_rowconfigure(0, weight=1)
container.grid_columnconfigure(0, weight=1)
self.frames = {}
for F in (Page, Other):
frame = F(container, self)
self.frames[F] = frame
frame.grid(row = 0, column = 0, sticky = "nsew")
self.show_frame(Page)
def show_frame(self,cont):
frame = self.frames[cont]
frame.tkraise()
class Page(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
innerFrame = tk.Frame(self, bg="red")
innerFrame.place(relx=.5, rely=.5, anchor="c", relwidth=1.0, relheight=1.0)
innerFrame.grid_rowconfigure(0, weight=1)
innerFrame.grid_rowconfigure(1, weight=1)
innerFrame.grid_columnconfigure(0, weight=1)
#First Half
frameOne = tk.Frame(innerFrame, bg="pink")
frameOne.grid(row=0, sticky="NSWE")
#Second Half
frameTwo = tk.Frame(innerFrame, bg="green")
frameTwo.grid(row=1, sticky="NSWE")
lb = tk.Listbox(frameTwo)
lb.pack(fill="both", expand=True)
class Other(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
app = Program()
app.state('zoomed')
app.mainloop()
. 'İç Çerçevede 'önce ilk önce yerleştirip ızgara yapılandırmasını kullanın. Genellikle ızgara kullandım, ama belki de yer ve paket kullanma deneyimine sahip biri ayrıntılı olabilir. –