Tkinter 中带有按钮的可缩放 window

Zoomable window with buttons in Tkinter

我正在尝试制作一个 Tkinter window,里面有很多按钮,它是 zoomable/moveable。 这是我当前的代码,但我不知道如何让用户使用鼠标滚动或按钮或类似的东西进行缩放:

from tkinter import *
main = Tk()
main.geometry("500x500")

for y in range(50):
    for x in range(50):
        exec(f"buttonx{x}y{y} = Button(main, text=\"\", borderwidth=0.5).place(x={x*10}, y={y*10}, height=10, width=10)")

main.mainloop()

有关缩放、按键或鼠标的方法,您可能需要查看 bind()Events and Bindings

至于按钮的创建,我建议使用 two-dimensional 列表保存按钮引用的更常用方法:

field = []
for y in range(50):
    row = []
    for x in range(50):
        b = Button(main, borderwidth=0.5)
        b.place(x=x*10, y=y*10, height=10, width=10)
        row.append(b)
    field.append(row)
    

这样可以更轻松地访问按钮。

但是为什么按钮呢?当我 运行 这个程序时,它真的很慢。它必须是按钮还是您打算以后再放一些其他东西?