python误差 - 溢流:python int太大而无法转换为c长



我的程序给我这个错误:

Traceback (most recent call last):
  File "C:SimulationSymDialog.py", line 153, in OnPaint
    self.Redraw(False)
  File "C:SimulationSymDialog.py", line 173, in Redraw
    obj.Draw(self.dc)
  File "C:SimulationSymDialog.py", line 207, in Draw
    dc.DrawCircle(self._x, self._y, self._r)
  File "E:PythonPython27libsite-packageswx-2.8-msw-unicodewx_gdi.py", line 3391, in DrawCircle
    return _gdi_.DC_DrawCircle(*args, **kwargs)
OverflowError: Python int too large to convert to C long

错误的方法:

Onpaint

def OnPaint(self, event):
    self.Redraw(False)
    wx.GCDC(wx.BufferedPaintDC(self, self._buffer))
    event.Skip()

redraw

def Redraw(self, clear):
    if clear == True: del self.drawList[:]
    self.dc = wx.GCDC(wx.BufferedDC(None, self._buffer))
    self.dc.SetBackground(wx.Brush(self.GetBackgroundColour()))
    self.dc.Clear()
    for obj in self.drawList:
        obj.Draw(self.dc)
    del self.dc

draw

def Draw(self, dc):
    self.setDC(dc)
    dc.DrawCircle(self._x, self._y, self._r)

如何解决此错误?感谢您的答案

您可能会错误地使用太大的值。

编辑:由于我无法评论,self._x,self._y和self._r?

的大小是多少

最新更新