2015-05-21 11 views
9

Sto facendo un wxApp molto semplice.wxPython errore wx.lib.plot.PlotCanvas

Ho installato Python 2.7.9 e 3.0.2 wxPython

Ecco il mio codice:

import wx 
import wx.lib.plot as plot 

class Pantalla(wx.Frame): 
    def __init__(self): 
     app = wx.App() 
     self.frame1 = wx.Frame(None, title = "GRAFICADOR", id = -1, size=(500,500)) 
     self.panel1 = wx.Panel(self.frame1) 
     self.panel1.SetBackgroundColour("white") 
     plotter = plot.PlotCanvas(self.panel1, id=-1, pos = wx.Point(-1,-1), size = wx.Size(-1,-1), style = 0, name= 'plotCanvas') 

     data = [(1,2), (2,3), (4,6)] 
     line = plot.PolyLine(data, colour='red', width = 1) 
     gc = plot.PlotGraphics([line], 'Line', 'Eje x', 'Eje y') 
     plotter.Draw(gc, xAxis = (0,15), yAxis=(0,15)) 
     self.frame1.Show(True) 
     app.MainLoop() 

t = Pantalla() 

Tuttavia, ogni volta che provarlo, mi getta questo errore:

Traceback (most recent call last): 

    File "<pyshell#26>", line 1, in <module> 

    f = Pantalla() 

    File "<pyshell#25>", line 7, in __init__ 

    plotter = plot.PlotCanvas(self.panel1, id=-1, pos = wx.Point(-1,-1), size = wx.Size(-1,-1), style = 0, name= 'plotCanvas') 

    File "C:\Python27\lib\site-packages\wx-3.0-msw\wx\lib\plot.py", line 598, in __init__ 
    self.HandCursor = wx.Cursor(Hand.GetImage()) 

    File "C:\Python27\lib\site-packages\wx-3.0-msw\wx\_gdi.py", line 1547, in __init__ 
    _gdi_.Cursor_swiginit(self,_gdi_.new_Cursor(*args, **kwargs)) 

TypeError: Required argument 'type' (pos 2) not found 

Sto passando tutti i parametri che dice la documentazione di wx. Cosa sto sbagliando?

+0

Sembra che sia correlato a questo ticket: http://trac.wxwidgets.org/ticket/16767#no1 – akvallejos

risposta

2

Anche se questo è un problema con wx 3.0.2 rilascio, ho provato il codice e questo problema non esiste in origine per wx 3.0.3 'classico' nè con wx 3.0.3 'Phoenix'.

è possibile verifica/build/installare i pronti contro termine per 3.0.3 'classico' da queste fonti:
https://github.com/wxWidgets/wxWidgets.git
https://github.com/wxWidgets/wxPython.git
Indicazioni dopo la partenza sarà in wxPython/docs/BUILD.txt

In alternativa, utilizzare la 'Fenice' 3.0.3 con il tuo progetto utilizzando questa fonte:
https://github.com/wxWidgets/Phoenix.git
Indicazioni dopo il checkout sarà in wxPython/README.rst

+0

Problema noto, citato in http://trac.wxwidgets.org/ticket/16767 & http://trac.wxwidgets.org/ticket/16924 e già corretto. – thorr18

+0

C'è un modo più semplice per usare 3.0.3 su Windows? Costruire dalla fonte è dispendioso in termini di tempo ed estremamente complicato. Penso che proverò 3.0.1 prima – knb

+1

@knb forse trovi il tuo plot.py e applica le modifiche mostrate qui http://trac.wxwidgets.org/attachment/ticket/16767/wxPython-3.0.2.0-plot.patch – thorr18