自动调整容器内框架的大小以适应它

我在这里有这个代码来创建一个多页应用程序:


   import tkinter as tk              
   import base64,os
   from icon import *
   from tkinter import Label,PhotoImage,Radiobutton,messagebox,ttk
   from tkinter import Scrollbar,font as tkfont
   from tkinter.constants import actIVE,ANCHOR,BOTTOM,CENTER,DISABLED,GROOVE,HORIZONTAL,LEFT,N,RAISED,X,YES
   from typing import Text
   from typing_extensions import IntVar  
   from tkscrolledframe import ScrolledFrame
   #from PIL import ImageTk,Image
 
   from Classi_Utenti import * 

   class SimulatoreIncentivi(tk.Tk):

    def __init__(self,*args,**kwargs):
        tk.Tk.__init__(self,**kwargs)
        
        self.title_font = tkfont.Font(family='Helvetica',size=18,weight="bold",slant="italic")
        self.subtitle_font = tkfont.Font(family='Helvetica',size=12,slant="italic")
        self.subsubtitle_font = tkfont.Font(family='Helvetica',size=10,weight="bold")
        #CREATE A CONTAINER FOR INNER FRAMES (PAGES)
        scrollable = ScrolledFrame(self,width=1730,height=900)
        scrollable.pack(side="top",fill="both",expand=True)
        scrollable.grid_rowconfigure(0,weight=1)
        scrollable.grid_columnconfigure(0,weight=1)
        scrollable.grid_propagate(False)
        scrollable.bind_arrow_keys(self)
        scrollable.bind_scroll_wheel(self)
        container = scrollable.display_widget(tk.Frame)

        self.frames = {}
        #DeclARE AND PLACE INNER FRAMES
        for F in (StartPage,InitializationPage,ConsumatoriSemplici,FinanziatoriSemplici,FinanziatoriProprietari,ProprietariSuperficie,ProprietariImpianti,OutputPage,InputParametri,SetterEnergiaCondivisa):
            page_name = F.__name__
            frame = F(parent=container,controller=self)
            self.frames[page_name] = frame
            
            #Metto le pagine nella stessa posizione,quella che è sul top viene mostrata
            frame.grid(row=0,column =0,sticky ="nswe")
            frame.config(width=1730,height=900)
            

        self.show_frame("InitializationPage")

所以,这基本上是我的代码,然后每个页面都单独创建为一个类。但是正如您现在看到的,我声明了一个名为“可滚动”的容器,其大小为 1730x900。在该容器内,我声明了另一个框架,该框架“附加”了页面列表。然后使用 config 命令将框架调整为与容器相同的尺寸。我有一个无法解决的问题:我想用窗口容器的大小调整内框内容的大小。现在,如果我调整窗口大小,内部框架内的小部件是静态的(它们不会随着窗口调整大小以适应内容)是否有一种简单的方法可以做到这一点?提前致谢!

weijinyang9 回答:自动调整容器内框架的大小以适应它

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/9272.html

大家都在问