有两个问题。首先,当您将Button-1和Double-1事件都添加到按钮小部件中时,双击将同时触发这两个事件。最后他们互相取消了,所以只有按一下键才能正常工作。在

其次,正如我在this SO answer中指出的,某些元素,如文本,不会缩放,它们将保持不变。您需要手动缩放字体以模拟文本缩放。在

下面是对您的代码按照上面的行进行的一次重做。我改变了它,使左键和右键单击按钮可以放大或缩小画布:from tkinter import *

EXAMPLE_TEXT = "Left or Right click button to zoom in/out"

FONT_NAME = "Helvetica"

font_size = 12

def zoom(amount):

global font_size

canvas.scale(ALL, 200, 200, amount, amount)

font_size *= amount

canvas.itemconfigure(text_item, font=(FONT_NAME, int(font_size)))

root = Tk()

canvas = Canvas(root, width=400, height=400)

canvas.pack(fill=BOTH, expand=1)

text_item = canvas.create_text(200, 200, font=(FONT_NAME, font_size), text=EXAMPLE_TEXT)

canvas.create_oval(50, 50, 350, 350)

widget = Button(root, text='zoom in/out')

widget.pack()

widget.bind('', lambda e: zoom(1.1))

widget.bind('', lambda e: zoom(0.7))

root.mainloop()

如果您注释掉以canvas.itemconfigure(...)开头的行,您将看到圆圈继续放大缩小,但文本保持固定大小。在

python放大代码放大_Python中的放大缩小功能相关推荐

  1. python算法和数据结构_Python中的数据结构和算法

    python算法和数据结构 To 至 Leonardo da Vinci 达芬奇(Leonardo da Vinci) 介绍 (Introduction) The purpose of this ar ...

  2. python处理分组_Python中的groupby分组功能的实例代码

    pandas中的DataFrame中可以根据某个属性的同一值进行聚合分组,可以选单个属性,也可以选多个属性: 代码示例: import pandas as pd A=pd.DataFrame([['B ...

  3. python决策树 多分类_Python中的决策树分类:您需要了解的一切

    python决策树 多分类 什么是决策树? (What is Decision Tree?) A decision tree is a decision support tool that uses ...

  4. python基础知识测试题_Python中的单元测试—基础知识

    python基础知识测试题 Unit testing is the number one skill which separates people who just finished their de ...

  5. python 最快 因式分解_python中怎么对一个数进行因式分解?

    1.Python因式分解代码:import time # 对一个数进行因式分解 def factorization(num): factor = [] while num > 1: for i  ...

  6. python数据库模糊查询_python中数据库like模糊查询方式

    python中数据库like模糊查询方式 在Python中%是一个格式化字符,所以如果需要使用%则需要写成%%. 将在Python中执行的sql语句改为: sql = "SELECT * F ...

  7. python简单代码运行_python代码如何运行

    交互提示模式下编写代码 安装完Python在Windows 或 Linux中的终端中直接输入python即进入Python 交互会话模式. Python 交互模式有以下几个注意点: 1. 只能够输入P ...

  8. python怎么清理垃圾_Python 中的“垃圾”是怎么回收的?

    前言 对于python来说,一切皆为对象,所有的变量赋值都遵循着对象引用机制.程序在运行的时候,需要在内存中开辟出一块空间,用于存放运行时产生的临时变量:计算完成后,再将结果输出到永久性存储器中.如果 ...

  9. python怎么调用文件_python 中如何引用头文件

    python 引入 导入 自定义模块, python 引入 导入 外部文件 python 引入 导入 自定义模块, python 引入  导入 外部文件 项目中想使用以前的代码,或者什么样的需求致使你 ...

  10. python编写ATM类_Python中编写类的各种技巧和方法

    有关 Python 内编写类的各种技巧和方法(构建和初始化.重载操作符.类描述.属性访问控制.自定义序列.反射机制.可调用对象.上下文管理.构建描述符对象.Pickling).你可以把它当作一个教程, ...

最新文章

  1. 关键字提取_从杂乱无章的表格中找出关键字,批量提取字符
  2. nginx 中location和root,你确定真的明白他们关系?
  3. C++进阶教程之信号处理
  4. Vue快速上手笔记2 - 开发环境的搭建
  5. 计算机中缺少mfc100.dll怎么办,大师为你细说win7系统启动程序提示计算机中丢失mfc100u.dll的解决技巧...
  6. 产品读书《产品经理的第一本书》
  7. ESP8285 sdkconfig
  8. imx6ull ccm时钟体系
  9. 基于DDS的多波形程控信号发生器
  10. UT000054: The maximum size 1048576 for an individual file in a multipart req
  11. 【树莓派】树莓派安装中文输入法
  12. IE 提示 当前安全设置不允许下载该文件
  13. PS简单入门须知的小技巧
  14. 【论文阅读】Rotom: A Meta-Learned Data Augmentation Framework for Entity Matching
  15. 如何选择第三方电子合同服务平台?
  16. vscode使用问题合集
  17. android nohttp百度百科,百度百科宣布取消扩展阅读并给外链添加nofollow标签
  18. AssionShop开源B2C电子商务系统-(一)用例图
  19. 2345软件管家下载|2345软件管家电脑版下载
  20. <3> JavaScript技术

热门文章

  1. Debian 11 配置优化指南
  2. JTAG与SWD接口定义映射
  3. iTunes音乐导入过程记录(专辑图片、歌手修改,iTunes使用,网易云歌单批量下载)
  4. OpenPCDet 训练自己的数据集详细教程!
  5. 虎虎的小尾巴的交易逻辑
  6. 在html图片上方叠加一个半透明颜色层,并在半透明颜色层上叠加文字
  7. android devik进程,suckit后门程序的分析 (二)
  8. 七、Android定位与拨打电话、发送短信
  9. 技术债越堆越高,要被迫离职!
  10. java 实现繁简字体转换(笨方法)