[python] wxSizers
Jakub Vojáček
Jakohv na seznam.cz
Úterý Únor 20 21:13:35 CET 2007
> Od: Petr Hlávka <petrhlavka na gmail.com>
> Předmět: Re: [python] wxSizers
> Datum: 20.2.2007 21:05:03
> ----------------------------------------
> Dobry den,
>
> v zasade by to slo udelat treba takto
>
> import wx
> import wx.lib.plot as plot
>
> class MyApp(wx.App):
> def OnInit(self):
> data = [(1,2), (2,3), (3,5), (4,6), (5,8), (6,8), (10,10)]
> #
> okno=wx.Frame(None)
> radic=wx.BoxSizer(wx.VERTICAL)
> #
> client = plot.PlotCanvas(okno)
> line = plot.PolyLine(data, legend='', colour='pink', width=1)
> gc = plot.PlotGraphics([line], 'Line Graph', 'X Axis', 'Y Axis')
> client.Draw(gc, xAxis= (0,15), yAxis= (0,15))
> #
> radic.Add(client,1,wx.EXPAND)
> radic.Layout()
> okno.SetSizer(radic)
> okno.Show(True)
>
> return True
>
>
> if __name__ == "__main__":
> app = MyApp()
> app.MainLoop()
>
>
> zmena je v inicializaci aplikace, trochu zmatek byl ve framech a
> parametrech metody Add sizeru. Nejjednodussi je asi opravdu zacit demy
> k wxpythonu nebo na http://wiki.wxpython.org - ziskat zakladni prehled
> o tom, jak wxpython funuguje.
>
> S pozdravem Petr Hlavka.
Tohle jsem taky zvládl, ale nefunguje mi to když dám ten graf do dalšího Framu. Já vím, je to zbytečný, ale nechápu proč to nefunguje:
def __init__(self):
data = [(1,2), (2,3), (3,5), (4,6), (5,8), (6,8), (10,10)]
okno=wx.Frame(None)
radic=wx.BoxSizer(wx.VERTICAL)
#
ram=wx.Frame(okno)
client = plot.PlotCanvas(ram)
line = plot.PolyLine(data, legend='', colour='pink', width=1)
gc = plot.PlotGraphics([line], 'Line Graph', 'X Axis', 'Y Axis')
client.Draw(gc, xAxis= (0,15), yAxis= (0,15))
#
radic.Add(ram,1,wx.EXPAND)
radic.Layout()
okno.SetSizer(radic)
okno.Show(True)
Dokumentaci jsem si prošel, stejně tak i demo ukázky ale nepochopil jsem z toho porč mi to nefunguje...
Blujacker
Další informace o konferenci Python