2015-05-21 49 views
9

Robię bardzo proste spisek wxApp.wxPython wx.lib.plot.PlotCanvas error

Mam zainstalowany Python 2.7.9 i 3.0.2 wxPython

Oto mój kod:

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() 

Jednak ilekroć go przetestować, to wyrzuca mi błąd:

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 

Przekazuję wszystkie parametry, które mówi dokumentacja wx. Co robię źle?

+0

Wygląda na to, że jest powiązany z tym biletem: http://trac.wxwidgets.org/ticket/16767#no1 – akvallejos

Odpowiedz

2

Choć jest to problem z wx 3.0.2 wydaniu, testowałem swój kod i problem ten nie istnieje w źródle dla WX 3.0.3 „klasyczny”, ani z WX 3.0.3 „Phoenix”.

Można kasy/build/zainstalować repo dla 3.0.3 'klasyczny' z tych źródeł:
https://github.com/wxWidgets/wxWidgets.git
https://github.com/wxWidgets/wxPython.git
Kierunki po kasie będzie wxPython/docs/BUILD.txt

Alternatywnie, użyj 'Phoenix' 3.0.3 z Twój projekt korzystający z tego źródła:
https://github.com/wxWidgets/Phoenix.git Wskazówki po realizacji zamówienia będą podane w wxPython/README.rst

+0

Znany problem wymieniony w http://trac.wxwidgets.org/ticket/16767 & http://trac.wxwidgets.org/ticket/16924 i już poprawiony. – thorr18

+0

Czy jest łatwiejszy sposób korzystania z wersji 3.0.3 w systemie Windows? Budowanie z źródła jest czasochłonne i niezwykle skomplikowane. Myślę, że spróbuję 3.0.1 najpierw – knb

+1

@knb może znaleźć twoją plot.py i zastosować zmiany pokazane tutaj http://trac.wxwidgets.org/attachment/ticket/16767/wxPython-3.0.2.0-plot.patch – thorr18