Customtkinter/Tkinter Canvas对象拖拽时位置异常问题求助
Tkinter Canvas拖拽对象位置异常问题求助
我是Tkinter新手,正在开发支持用户拖拽Canvas对象的功能,但移动画布后再次拖拽Canvas对象时,对象会出现位置异常的奇怪表现。难以用文字清晰描述,附上相关代码,恳请各位提供技术帮助。
import customtkinter from tkinter import Canvas from PIL import Image, ImageTk def move(event): my_canvas.moveto(my_image,event.x-50,event.y-50) def scan(event): my_canvas.scan_mark(event.x, event.y) def drag(event): my_canvas.scan_dragto(event.x, event.y, gain=2) def display_coords(event): my_label.configure(text=f"X: {event.x} Y:{event.y}") app = customtkinter.CTk() frame1 = customtkinter.CTkFrame(master=app) frame1.pack(padx=10,pady=10, expand=True, fill="both") my_canvas = Canvas(master=frame1, height=100, width=100, bg="black") my_canvas.pack(expand=True, fill="both") # 调整图片大小(原尺寸512x512) img = Image.open("assets/computadora.png") resized_image = img.resize((100,100)) image = ImageTk.PhotoImage(resized_image) frame1.image = image my_image = my_canvas.create_image(0, 0, image=image, anchor="nw") my_canvas.tag_bind(my_image,"<Button1-Motion>", move, add="+") my_canvas.bind("<Button-3>", scan) my_canvas.bind("<Button3-Motion>", drag) # 选中Canvas对象时显示鼠标光标坐标 my_label = customtkinter.CTkLabel(master=my_canvas, text="X: None Y: None") my_label.pack(padx="10px", pady="10px", anchor="se") my_canvas.tag_bind(my_image, "<Button1-Motion>", display_coords, add="+") my_canvas.configure(scrollregion=my_canvas.bbox(my_image)) app.mainloop()
演示视频展示了该异常表现。
内容的提问来源于stack exchange,提问作者Cyberin
相关产品推荐
相关产品推荐

