将滚动条添加到sizer

时间:2010-06-04 22:47:07

标签: wxpython scrollbar

我正在使用wxPython 2.8,我正在尝试在wx.Frame的右侧添加滚动条功能。这个“右侧”是一个sizer;我试图使用wx.ScrolledWindow但它似乎只适用于wx.Frame。我是否必须在滚动条的客户端上添加wx.Panel?怎么样 ? 有一个例子吗?

这是我创建“正确”sizer的代码片段:

btnSizer = wx.GridSizer(6,num_art_per_riga)

for elemento in lista_elementi:
    self.button = MyButton(self.scroll, elemento.descrizionebreve, elemento.descrizione, is_articolo)

    self.button.Bind(wx.EVT_BUTTON , self.aggiungi_su_listbox)
    btnSizer.Add(self.button, proportion=0, flag=wx.ALIGN_LEFT|wx.EXPAND, border=0)
btnSizer.Layout()     

box = wx.StaticBox(self.scroll, -1, descrizione_box)
staticSizer = wx.StaticBoxSizer(box, wx.VERTICAL)
staticSizer.Add(btnSizer)
self.toolbar.Add(staticSizer)      # this is the sizer at the right side

self.scroll.SetVirtualSize((600, 400)) #this is the scroll !

使用此示例,不显示“工具栏”,不显示任何内容。 使用以下构造函数创建滚动:

 self.scroll = wx.ScrolledWindow(self, -1)

其中self是wx.Panel。

感谢您的帮助

2 个答案:

答案 0 :(得分:3)

尝试使用ScrolledPanel,这是一个“更好”的ScrolledWindow (并确保将大小调整器分配给面板)

答案 1 :(得分:-1)

要回答您的一个问题,有很多例子。下载wxPython文档和演示,您将有大量示例可供使用。