2015-04-27 2 views
2

Я пытаюсь создать приложение «whiteboard» в wxPython. Я пытаюсь понять, как нарисовать линию, которая следует за мышью, когда пользователь щелкает вниз.Рисование непрерывной линии с помощью мыши с wxPython

def __init__(self, parent): 
    wx.Frame.__init__(self, parent, title="White Board") 
    self.Bind(wx.EVT_LIST_BEGIN_DRAG, self.OnDrag) 

def OnDrag(self, e): 
    print "drag" 

Первый шаг пытается получить координаты мыши в то время как пользователь перетаскивание мышью, но я не могу получить слово «сопротивление» не для печати, независимо от того, что я делаю, и не понимаю, почему это не работает.

ответ

1

Событие мыши, wx.EVT_MOTION, даст вам непрерывные обновления при перемещении мыши. Затем определите, нажата ли кнопка, а также получите позиции X и Y, используя, скажем, wx.MouseState.

wx.EVT_LIST_BEGIN_DRAG не будет работать, потому что: 1) это событие управления списком; 2) он срабатывает только тогда, когда вы начинаете, чтобы перетащить, а не все время.

Смежные вопросы