tkinter 中 给Toplevel 添加移动的方法

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('', _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("", _on_tap)

其他窗口同理,如无边框的工具窗口

你可能感兴趣的:(tkinter 中 给Toplevel 添加移动的方法)