python - 保持 tkinter 画布原点居中
问题描述
是否可以在不将 Configure 事件处理程序绑定到画布的情况下保持可调整大小的 tkinter.canvas 的原点居中?我想实现与以下 python 脚本相同的结果,但不使用绑定。
找了两个小时就放弃了。有我想念的小部件选项吗?
import tkinter
from PIL import ImageTk
def centerCanvasOrigin(e):
root.update()
cnv.scan_dragto(round(cnv.winfo_width()/2), round(cnv.winfo_height()/2), 1)
root = tkinter.Tk()
cnv = tkinter.Canvas()
cnv.pack(fill = tkinter.BOTH, expand = 1)
cnv.bind("<Configure>", centerCanvasOrigin)
img = ImageTk.PhotoImage(file="img/image.png")
cnv.create_image(0, 0, image = img)
centerCanvasOrigin(True) #i know, sry about this :)
root.mainloop()
解决方案
是否可以在不将 Configure 事件处理程序绑定到画布的情况下保持可调整大小的 tkinter.canvas 的原点居中?
不它不是。
推荐阅读
- javascript - 如果字符串不包含值
- android - 如何创建一个Android PopupWindow,它将在当前活动的任何内容之上弹出?
- autodesk-forge - 可靠地确定 BIM 360 项目的 Revit 版本
- android - SQLDelight 模式生成失败
- c++ - C++中指针的类型转换和类型转换
- c# - 如何确定 ExecuteReader 是否返回结果集
- rxjs - 确定导致 observable 完成的原因
- monitoring - Prometheus:合并二元运算中缺失标签的值
- c++ - 这个声明正确吗?--- 虚拟无效 AcquireLockExclusive() RTC_EXCLUSIVE_LOCK_FUNCTION() = 0;
- c - 使用 wininet 在 Windows MSVC 上下载 deflate XML,但得到损坏的数据