我想通过鼠标点击(按住)+鼠标移动来移动整个tkinter Canvas。我尝试使用canvas.move,但不幸的是它不起作用。
如何在整个画布中滚动? (不是移动画布的每个元素,而是滚动画布的显示区域)
如何在整个画布中滚动? (不是移动画布的每个元素,而是滚动画布的显示区域)
import Tkinter as Tk
oldx = 0
oldy = 0
def oldxyset(event):
global oldx, oldy
oldx = event.x
oldy = event.y
def callback(event):
# How to move the whole canvas here?
print oldx - event.x, oldy - event.y
root = Tk.Tk()
c = Tk.Canvas(root, width=400, height=400, bg='white')
o = c.create_oval(150, 10, 100, 60, fill='red')
c.pack()
c.bind("<ButtonPress-1>", oldxyset)
c.bind("<B1-Motion>", callback)
root.mainloop()
canvas.scale
的东西吗?当我进行缩放时,我自己从头开始实现了一个实现,但我认为在tkinter
中可能有一些内置的东西。 - Basjcreate_window
,它们会随着其他内容一起滚动。如果您使用pack、place或grid,则不会滚动。 - Bryan Oakley