[python] Scrolled WxCanvas

Jakub Vojacek jakohv na seznam.cz
Sobota Březen 24 11:54:50 CET 2007


Ahoj

Snažim se udělat jednoduchou tvarbu grafů ve Wx. Ale mám potáže se scrollbary
Zatím jsem udělal toto:
import wx
class Canvas:
    def __init__(self,parent):
        self.okno=parent
        self.radic = wx.FlexGridSizer(3,2,0,0)
        self.canvas = wx.Window(self.okno, -1)
        
        self.sb_vert = wx.ScrollBar(self.okno, -1, style=wx.SB_VERTICAL)
        self.sb_vert.SetScrollbar(0,1000,1000,1000)
        self.sb_hor = wx.ScrollBar(self.okno, -1, style=wx.SB_HORIZONTAL)
        self.sb_hor.SetScrollbar(0,1000,1000,1000)

        self.radic.Add(self.canvas, 1, wx.EXPAND)
        self.radic.Add(self.sb_vert, 0, wx.EXPAND)
        self.radic.Add(self.sb_hor, 0, wx.EXPAND)
        self.radic.Add((0,0))
        
        self.radic.AddGrowableRow(0, 1)
        self.radic.AddGrowableCol(0, 1)


        self.canvas.SetCursor(wx.CROSS_CURSOR)
        self.canvas.Bind(wx.EVT_PAINT, self.OnPaint)
        self.okno.SetSizer(self.radic)
    def vykresli_graf(self,dc):
        dc.BeginDrawing()
        lines=[(-50,-50,50,50)]
        dc.DrawLineList(lines)
        dc.EndDrawing()
    def OnPaint(self, evt):
        dc = wx.PaintDC(self.canvas)
        self.vykresli_graf(dc)
if __name__ == "__main__":
    okno = wx.App(0)
    parent=wx.MDIParentFrame(None,size=wx.Size(500,500))
    child=wx.MDIChildFrame(parent,title="Graf",id=-1)
    Canvas(child)
    child.Maximize()
    parent.Show()
    okno.MainLoop()

ale i když je část tý čáry mimoviditelnou část canvasu, scrollbar se nezmění. chtělo by to jako je v Tk:
canvas["yscrollcommand"] = S.set
Nelze to nějak nastavit??
Dík
------------- další část ---------------
HTML příloha byla odstraněna...
URL: http://www.py.cz/pipermail/python/attachments/20070324/5db11586/attachment.htm 


Další informace o konferenci Python