python窗口大小动态变化_python – 如何让tkinter画布动态调整窗口宽度?

我想我会添加一些额外的代码来扩展@ fredtantini的答案,因为它不处理如何更新在Canvas上绘制的小部件的形状.

为此,您需要使用缩放方法并标记所有窗口小部件.一个完整的例子如下.

from Tkinter import *

# a subclass of Canvas for dealing with resizing of windows

class ResizingCanvas(Canvas):

def __init__(self,parent,**kwargs):

Canvas.__init__(self,parent,**kwargs)

self.bind("", self.on_resize)

self.height = self.winfo_reqheight()

self.width = self.winfo_reqwidth()

def on_resize(self,event):

# determine the ratio of old width/height to new width/height

wscale = float(event.width)/self.width

hscale = float(event.height)/self.height

self.width = event.width

self.height = event.height

# resize the canvas

self.config(width=self.width, height=self.height)

# rescale all the objects tagged with the "all" tag

self.scale("

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值