[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