Tkinter画布怎么和窗口一起变化?Python窗口程序Tkinter组件怎么随窗口缩放

Tkinter标准库创建出来的窗口程序如果没有作出限制的话 , 是能够通过鼠标来对其进行大小拉伸来放大或者缩小尺寸的 , 那么这个时候窗口组件也是应该放大才可以 。而下面会以tkinter画布组件为示例 , 来详细讲解该怎么让组件随窗口变化而缩放 。

Tkinter画布怎么和窗口一起变化?Python窗口程序Tkinter组件怎么随窗口缩放


1.那么首先需要在代码之中将tkinter库导入 , 并且创建出来一个窗口对象 , 这个窗口标题和大小设置都可以 。然后关键在于需要让其去绑定窗口监听事件 , 也就是当窗口变化时会处罚的函数 , 代码示例如下:
import tkinter as tkwindow = tk.Tk()first_load = Truewindow.bind('<Configure>', window_resize)2.接下来就是去编写窗口监听时触发的函数了 , 这个函数不需要去接收任何参数都可以 , 不过可以使用event来表示它是一个事件 。在此函数之中需要先去定义两个变量来表示窗口大小初始值 , 然后再将它们作为窗口最小尺寸 。
接着就是使用frame来在这个窗口之中创建出字窗口 , 这样才可以让窗口进行像素级的缩放 。把创建出来的画布组件添加到子窗口之中 , 代码示例如下
def window_resize(event=None):  window.minsize(width, height)   frame1 = tk.Frame(window, width=360, height=340)   frame1.pack_propagate(0)   frame1.place(x=20, y=10)  cv = tk.Canvas(frame1, bg='white',width=200,height=100)3.那么到此窗口以及组件都创建好了 , 接下来还是在这个函数之中去编写代码 。这段代码需要先获取到窗口当前高宽 , 然后去判断它相比于初始高宽是否有变化 , 有变化就使用config()方法计算出差值后在重新设置组件大小 , 最后去启动窗口事件循环即可 , 详细代码示例如下所示:
new_width = window.winfo_width()new_height = window.winfo_height()if save_width != new_width or save_height != new_height:  frame1.config(width=new_width-40, height=new_height-60)【Tkinter画布怎么和窗口一起变化?Python窗口程序Tkinter组件怎么随窗口缩放】以上就是关于“Tkinter画布怎么和窗口一起变化?Python窗口程序Tkinter组件怎么随窗口缩放”的全部内容了 , 希望对你有所帮助 。
Tkinter画布怎么和窗口一起变化?Python窗口程序Tkinter组件怎么随窗口缩放


Tkinter画布怎么和窗口一起变化?Python窗口程序Tkinter组件怎么随窗口缩放


Tkinter画布怎么和窗口一起变化?Python窗口程序Tkinter组件怎么随窗口缩放


微信扫码 , 学习更方便
Tkinter画布怎么和窗口一起变化?Python窗口程序Tkinter组件怎么随窗口缩放


现在报名赠100例知识点合集
Tkinter画布怎么和窗口一起变化?Python窗口程序Tkinter组件怎么随窗口缩放


    猜你喜欢