Je dois dessiner sur l'image (pour commenter) dans un panneau déroulant. J'ai des problèmes avec ça car il ne se comporte pas correctement lorsque je l'agrandis. il arrête de dessiner, puis il le montre au bout d'un moment au mauvais endroit. dans le coin supérieur gauche de la fenêtre. et ne dessine pas correctement les lignes. ci-dessous est le code de la fonction (onLeftDown
) (le bouton qui doit dessiner). l'événement du bouton droit (zoom avant). J'espère que c'est assez clair.Problème lors du zoom des images dans wxpython
Avez-vous une idée de ce qui se passe et comment le résoudre?
merci à l'avance
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
Si le code d'origine que vous avez publié est votre code réel, l'un des problèmes que vous rencontrez est une utilisation incohérente des espaces de début. Dans OnRightDown, self.initDrawing() utilise un retrait différent de la ligne de code précédente et suivante. C'est peut-être votre problème? –
non ce n'est pas le problème. il n'y a aucune erreur d'indentation mais l'indentation ici sur cette page Web est ratée. Je ne sais pas comment le réparer ici. –
'self.HasCapture() et event.Dragging():' que signifie cette ligne? – SilentGhost