【发布时间】:2011-09-17 14:46:17
【问题描述】:
首先,这是我当前的代码,它的重要部分:
class WindowDraggable():
x = 1
y = 1
def __init__(self,label):
label.bind('<ButtonPress-1>',self.StartMove);
label.bind('<ButtonRelease-1>',self.StopMove);
label.bind('<B1-Motion>',self.OnMotion);
def StartMove(self,event):
self.x = event.x
self.y = event.y
def StopMove(self,event):
self.x = None
self.y = None
def OnMotion(self,event):
deltaX = event.x - self.x
deltaY = event.y - self.y
self.x = root.winfo_x() + deltaX
self.y = root.winfo_y() + deltaY
root.geometry("+%sx+%s" % (self.x,self.y))
#root is my window:
root = Tk()
#This is how I assign the class to label
WindowDraggable(label)
#All imports
from Tkinter import *
from PIL import Image, ImageTk
import sys
import re
我想要完成的是;使窗口可通过句柄拖动,在本例中为 label。我无法真正描述它现在的行为方式,但它确实会移动窗口,只是不跟随鼠标。
请多多包涵,因为我是 Python 的新手。任何帮助表示赞赏:) 重写课程是可以的,我知道它写得很糟糕。
【问题讨论】:
-
我需要帮助才能将其变为现实,这基本上意味着类似课程的简化示例,因为我的 Python 技能似乎还不够广泛。
-
这段代码看起来像是从这个答案复制过来的:stackoverflow.com/a/4055612/7432
标签: python drag-and-drop tkinter python-2.7