Python界面庫可以實現各種拖拽效果。以下是一個使用Tkinter庫的示例:
from Tkinter import * def drag_start(event): widget = event.widget widget.startX = event.x widget.startY = event.y def drag_motion(event): widget = event.widget x = widget.winfo_x() - widget.startX + event.x y = widget.winfo_y() - widget.startY + event.y widget.geometry("+%s+%s" % (x, y)) root = Tk() frame = Frame(root, width=200, height=200, background="white") label = Label(frame, text="拖我", background="orange") label.bind("", drag_start) label.bind(" ", drag_motion) label.pack(pady=50) frame.pack() root.mainloop()
以上代碼創建了一個窗口,并在窗口上放置了一個一開始為橙色的標簽。用戶可以點擊標簽并在拖動它時移動整個窗口。這通過綁定drag_start
和drag_motion
函數到標簽的左鍵單擊和左鍵移動事件上來實現。