使tkinter画布原点居中

2024-05-15 02:02:52 发布

您现在位置:Python中文网/ 问答频道 /正文

在不将配置事件处理程序绑定到画布的情况下,是否可以将可调整大小的tkinter.canvas的原点保持在中心位置?我希望获得与以下python脚本相同的结果,但不使用bind

我找了两个小时后就放弃了。有我错过的小部件选项吗

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()

Tags: imageimport处理程序imgbindtkinter画布事件

热门问题