优草派 > Python

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

罗西汉         优草派

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

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

1.那么首先需要在代码之中将tkinter库导入,并且创建出来一个窗口对象,这个窗口标题和大小设置都可以。然后关键在于需要让其去绑定窗口监听事件,也就是当窗口变化时会处罚的函数,代码示例如下:

import tkinter as tk
window = tk.Tk()
first_load = True
window.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组件怎么随窗口缩放”的全部内容了,希望对你有所帮助。

  • 微信好友

  • 朋友圈

  • 新浪微博

  • QQ空间

  • 复制链接

取消
5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024