调整程序窗口大小后如何捕捉宽度和高度(tkinter)

(tkinter)我想在调整大小后立即捕获窗口的宽度和高度。我该怎么做,是否存在任何方法?

已编辑的问题:

定义,它不是重复项。因为in the link有画布,而且这种方法

self.scale("all",wscale,hscale)

不适用于相框。我仍然不知道如何调整框架的大小,因此在调整框架大小后,它的宽度和高度将与窗口相同。 (就像在photoshop中一样,我调整窗口的大小,背景正在更改大小。)

布莱恩,我尝试按照您说的那样调整大小,但没有用。我用“ !!!”标记了尝试这样做的地方评论。我的代码:

    from tkinter import *
import ctypes


class Main(Frame):
    def __init__(self,main):
        Frame.__init__(self,main)
        # Vars that will be defined by user:
        self.canvas_width = 600
        self.canvas_height = 600

        self.frame_width = 750
        self.frame_height = 600

        # Flexible widgets when window size alters:
        main.columnconfigure(0,weight=1)
        main.rowconfigure(0,weight=1)


        # Canvas and frame
        self.canvas_frame = Frame(main,width=self.frame_width,height=self.frame_height,relief='groove')
        self.canvas_frame.grid(row=1,column=1)
        self.canvas_frame.grid_propagate(False)
        self.canvas = Canvas(self.canvas_frame,width = self.canvas_width,height = self.canvas_height,bg='bisque')
        self.canvas.grid(row=0,column=0)

        # Right click menu
        self.rmenu = Menu(self.canvas_frame,tearoff=0,takefocus=0)
        self.rmenu.add_command(label='Add',command=self.hello)
        self.canvas.bind("<ButtonPress-3>",self.popup)

        # Bind
        self.canvas.bind("<ButtonPress-1>",self.scroll_start)
        self.canvas.bind("<B1-Motion>",self.scroll_move)

        self.canvas_frame.bind("<Configure>",self.on_resize) # !!!!



    # resizing window:
    def on_resize(self,event): # !!!!
        # determine the ratio of old width/height to new width/height
        self.canvas_frame.width = event.width
        self.canvas_frame.height = event.height
        # resize the canvas
        self.canvas_frame.config(width=self.canvas_frame.width,height=self.canvas_frame.height)
        print(self.canvas_frame.width)  # return the same height and width
        print(self.canvas_frame.height) # after resizing

if __name__ == '__main__':
    main = Tk()
    Main(main)
    main.mainloop()
m1994 回答:调整程序窗口大小后如何捕捉宽度和高度(tkinter)

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

大家都在问