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)
这样可以更轻松地访问按钮。
但是为什么按钮呢?当我 运行 这个程序时,它真的很慢。它必须是按钮还是您打算以后再放一些其他东西?
我正在尝试制作一个 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)
这样可以更轻松地访问按钮。
但是为什么按钮呢?当我 运行 这个程序时,它真的很慢。它必须是按钮还是您打算以后再放一些其他东西?