我想我会添加一些额外的代码来扩展@ 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("all",0,0,wscale,hscale)

def main():

root = Tk()

myframe = Frame(root)

myframe.pack(fill=BOTH, expand=YES)

mycanvas = ResizingCanvas(myframe,width=850, height=400, bg="red", highlightthickness=0)

mycanvas.pack(fill=BOTH, expand=YES)

# add some widgets to the canvas

mycanvas.create_line(0, 0, 200, 100)

mycanvas.create_line(0, 100, 200, 0, fill="red", dash=(4, 4))

mycanvas.create_rectangle(50, 25, 150, 75, fill="blue")

# tag all of the drawn widgets

mycanvas.addtag_all("all")

root.mainloop()

if __name__ == "__main__":

main()

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

  1. python窗口大小动态变化_如何在tkinter中动态调整窗口大小以“自动调整”其内容?...

    我目前正在使用tkinter开发一个GUI,它允许用户在不同的框架之间导航.我的代码结构基于this user response.在 我现在的问题是在框架发生变化时自动调整tkinter的窗口以适应其 ...

  2. python gui 框架中显示gif_使用tkinter显示动态gif

    import tkinter astk#这个语句导入tkinter模块,但为方便,为它定义了一个别名tk. import os import tkinter.messagebox #messagebo ...

  3. python label显示图片_python 实现在tkinter中动态显示label图片的方法

    在编程中我们往往会希望能够实现这样的操作:点击Button,选择了图片,然后在窗口中的Label处显示选到的图片.那么这时候就需要如下代码: from tkinter import * from tk ...

  4. python绘制动态条形图_Python 绘图与可视化 matplotlib 动态条形图 bar

    第一种办法 一种方法是每次都重新画,包括清除figure def animate(fi): bars=[] if len(frames)>fi: # axs.text(0.1,0.90,time ...

  5. python在画布上显示动态图片_python – matplotlib – 直接在画布上绘图

    由于动态更新的性能问题,我需要在画布上直接绘制很多矩形作为非常低的级别,也就是说不使用matplotlib.patches,因为我们必须使用经典的GUI. 更准确地说,我想只绘制一个矩形,而不仅仅是所 ...

  6. python设置桌面歌词_Python点阵字玩转动态歌词

    前面我们讲到了可以自定义输入汉字,然后用点阵字来展现,接下来我们挖掘下更有趣的玩法.想法来自于听歌时桌面动态歌词,我们的点阵字既然可以自定义输入识别,何不读取歌词文件随着歌曲播放动态显示呢? 下面介绍 ...

  7. python爬虫股票指数变化_python爬虫中抓取指数的实例讲解

    有一些数据我们是没法直观的查看的,需要通过抓取去获得.听到指数这个词,有的小伙伴们觉得很复杂,似乎只在股票的时候才听说的,比如一些数据的涨跌分析都是比较棘手的问题.不过指数对于我们的数据分析还是很有帮 ...

  8. python listbox控件_Python GUI编程(Tkinter)10、Listbox控件

    import tkinter win = tkinter.Tk() win.title("sunck") win.geometry("400x400+200+0" ...

  9. python弹出输入框_Python实现使用tkinter弹出输入框输入数字, 具有确定输入和清除功能...

    Python3.6中用tkinter, 弹出可以输入数字的输入框. # Copyright (c) 2017-7-21 ZhengPeng All rights reserved. def pop_u ...

  10. python idle 常规命令_Python的3种运行方式:命令行窗口、Python解释器、IDLE的实现

    1 命令行窗口 开始栏搜索command,打开命令提示符,即为命令行窗口. 运行一个Python程序,需要输入:Python + 程序地址 + 程序名.py 如图: 2 Python解释器 开始栏搜索 ...

最新文章

  1. matlab图像滤波
  2. 将单链表的每K个节点之间逆序
  3. 怎样查看电脑系统版本_微信7.0.0自动更新后怎样去还原以前的旧版本?
  4. delphi中的第三方控件如何安装
  5. Form窗体的属性与值 1123
  6. Oracle11g数据库快速安装
  7. ssis行计数变量_SSIS服务性能计数器指南
  8. Response.Write() Alert后页面布局改变
  9. 开关三极管的导通和截止条件
  10. 会员数据化运营RFM
  11. 可测函数积分的进一步性质
  12. 点击地图出现导航php,在H5页面中,通过地址打开高德地图以实现导航
  13. 论文研读 —— 4. You Only Look Once Unified, Real-Time Object Detection (1/3)
  14. Ubuntu上打开windows共享文件夹进行读写操作的命令
  15. css如何设置不可点击?
  16. python调用默认播放器_python使用Tkinter实现在线音乐播放器
  17. 顶级投资机构ARK将区块链列为颠覆式创新技术
  18. (第二章)HDMI基本工作原理
  19. Android点击WebView中的图片查看大图
  20. [转载]烟台话--普通话对照表

热门文章

  1. 三天学会HTML5——SVG和Canvas的使用
  2. 请画出一个抓虫系统的架构图并说明你的爬虫需要如何优化来提升性能
  3. .NET组件和COM组件之间的相互操作方法
  4. 解决jquery中全选点击第二次不生效的问题与分析
  5. 18.go 日志监控系统
  6. 23.TCP/IP 详解卷1 --- TCP的保活定时器
  7. 3. vi 简介(3)
  8. 编写iPhone应用程序有何不同
  9. bootstrap基础样式学习(一)
  10. oauth2-server-php-docs 存储