Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x tkinter:拖动小部件_Python 3.x_Tkinter - Fatal编程技术网

Python 3.x tkinter:拖动小部件

Python 3.x tkinter:拖动小部件,python-3.x,tkinter,Python 3.x,Tkinter,我想为小部件创建一个拖放功能。代码如下: from tkinter import * root = Tk() root.config(background = "red", width = 500, height = 500) root.title("root") def frameDrag(event): frame.place(x = event.x , y = event.y) frame = Frame(root, width = 60, height = 30) fra

我想为小部件创建一个拖放功能。代码如下:

from tkinter import *


root = Tk()
root.config(background = "red", width = 500, height = 500)
root.title("root")

def frameDrag(event):
    frame.place(x = event.x , y = event.y)

frame = Frame(root, width = 60, height = 30)
frame.place(x=0, y=0)
frame.bind("<B1-Motion>", frameDrag)

root.mainloop()
从tkinter导入*
root=Tk()
root.config(background=“red”,宽度=500,高度=500)
根标题(“根”)
def帧拖动(事件):
frame.place(x=event.x,y=event.y)
框架=框架(根,宽度=60,高度=30)
框架位置(x=0,y=0)
frame.bind(“,frameDrag)
root.mainloop()
基本上,它应该将小部件放置到您移动鼠标的位置。相反,小部件在整个窗口中跳跃。
有什么办法解决这个问题吗?

它到处乱跳,因为你告诉它,如下所示:

def frameDrag(event):
    print event.x, event.y
    frame.place(x = event.x , y = event.y)
更好地使用画布小部件,更好地使用B1单击和B1释放事件并计算增量。寻找Tkinter附带的小部件演示