tkinter中Toplevel鼠标点击移动的方法
解决办法:
在鼠标按下时记录鼠标的位置和窗口的位置
def _on_move( event):
# self.root_x/y 窗口左上角相对屏幕左上角的距离
offset_x = event.x_root - self.root_x
offset_y = event.y_root - self.root_y
abs_x = self.abs_x + offset_x
abs_y = self.abs_y + offset_y
geo_str="+%s+%s" % (abs_x, abs_y)
self.top.geometry(geo_str)
self.top.bind('<B1-Motion>', _on_move)
def _on_tap(event):
self.root_x, self.root_y=event.x_root, event.y_root
self.abs_x, self.abs_y=self.snip_top.winfo_x(), self.snip_top.winfo_y()
self.top.bind("<Button-1>", _on_tap)
其他窗口同理,如无边框的工具窗口