2010-06-04 3 views
4

Я использую wxPython 2.8, и я пытаюсь добавить возможности прокрутки в правой части wx.Frame. Эта «правая сторона» является сигаром; Я попытался использовать wx.ScrolledWindow, но, похоже, работает только на wx.Frame. Нужно ли добавлять wx.Panel на клиенте полосы прокрутки? Как ? Есть ли пример?Добавление полосы прокрутки в sizer

Это кусок кода, в котором я создать "правильный" 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 ! 

Используя этот пример панели инструментов "" ISN» t отображается, ничего не появляется. Свиток создается с помощью следующего конструктора:

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

, где само является wx.Panel.

Спасибо за любую помощь

ответ

3

Попробуйте использовать ScrolledPanel, это «лучший» ScrolledWindow.
(И убедитесь, что вы назначили разделитель панели)

0

Чтобы ответить на один из ваших вопросов, есть много примеров. Загрузите документы и демонстрации wxPython, и вам будет доступно множество примеров.

Смежные вопросы