Мне нужно нарисовать изображение (прокомментировать) на прокручиваемой панели. У меня проблемы с этим, так как он ведет себя неправильно, когда я увеличиваю или уменьшаю его. он перестает рисовать, а затем показывает это через некоторое время в неправильном месте. прямо в верхнем левом углу окна. и не рисует линии правильно.
ниже приведен код функции (onLeftDown
) (кнопка, которая должна быть нарисована). правая кнопка события (увеличение). надеюсь, это достаточно ясно.
Ребята, вы понимаете, что происходит, и как мне это решить?
заранее спасибо
def OnLeftButtonEvent(self, event):
self.curLine = []
self.x, self.y = event.GetPositionTuple()
self.CaptureMouse()
def OnMotion(self, event):
if self.HasCapture() and event.Dragging():
dc = wx.BufferedDC(None,self.buffer)
dc.SetUserScale(self.scale,self.scale)
# to zoom in and out ( increases whenever someone presses the right mouse button
dc.BeginDrawing()
dc.SetPen(wx.Pen(wx.BLUE, 3))
coords = (self.x, self.y) + event.GetPositionTuple()
self.curLine.append(coords)
dc.DrawLine(*coords)
self.x, self.y = event.GetPositionTuple()
self.SetXY(event)
dc.EndDrawing()
def OnRightDown(self,event):
print self.scale
self.scale=self.scale*2.0
self.initDrawing()
self.maxHeight=self.maxHeight*2
self.maxWidth=self.maxWidth*2