Я попытался сделать складной FoldPanelBar внутри ScrollPanel. Но это не загрузка содержимого FoldPanelBar. Интерфейс управления списком на панели сложения не загружается. Я попытался заменить обычную панель, но результат тот же. Не могли бы вы сообщить мне, если я что-то упустил?Как сделать FoldPanelBar внутри ScrollPanel в wxPython?
import wx
from wx.lib import scrolledpanel
import wx.lib.agw.foldpanelbar as fpb
class MyPanel(wx.lib.scrolledpanel.ScrolledPanel):
def __init__(self, parent):
wx.lib.scrolledpanel.ScrolledPanel.__init__(self, parent=parent, size=parent.GetSize(), style = wx.ALL|wx.EXPAND)
self.SetAutoLayout(1)
self.SetupScrolling()
csStyle = fpb.CaptionBarStyle()
csStyle.SetFirstColour(wx.Colour(190, 190, 190, 255))
csStyle.SetSecondColour(wx.Colour(167, 232, 146, 255))
csStyle.SetCaptionFont(wx.Font(9, wx.DEFAULT, wx.NORMAL, wx.BOLD))
m_pnl = fpb.FoldPanelBar(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize,
fpb.FPB_VERTICAL)
item = m_pnl.AddFoldPanel("Set 1", collapsed=True, cbstyle=csStyle)
self.listContainer = wx.ListCtrl(item)
self.listContainer.InsertColumn(0, 'Column1', width=250)
self.listContainer.InsertColumn(1, 'Column2', width=150)
self.listContainer.InsertColumn(2, 'Column3')
m_pnl.AddFoldPanelWindow(item, self.listContainer)
btnGo = wx.Button(item, wx.ID_ANY, "Go", size=(50,-1))
m_pnl.AddFoldPanelWindow(item, btnGo)
item = m_pnl.AddFoldPanel("Set 2", collapsed=True, cbstyle=csStyle)
self.listContainer2 = wx.ListCtrl(item, style=wx.LC_REPORT)
self.listContainer2.InsertColumn(0, 'Column1', width=250)
self.listContainer2.InsertColumn(1, 'Column2', width=150)
self.listContainer2.InsertColumn(2, 'Column3')
m_pnl.AddFoldPanelWindow(item, self.listContainer2)
self.pnl = m_pnl
if __name__ == '__main__':
app = wx.App(False)
frame = wx.Frame(None, size=(650, 400), style=wx.DEFAULT_FRAME_STYLE)
panel = MyPanel(frame)
frame.Show()
app.MainLoop()
Спасибо! Вот и все :) – devnull
Элемент управления списком появился, но полосы прокрутки не отображаются, хотя при изменении размера рамки. – devnull
Да, я также видел, что (нет полос прокрутки). Поскольку я не использую ни '' ScrolledPanel'', ни '' FoldPanelBar', я там не помогаю. Может быть, было бы лучше не смешивать их в любом случае, потому что они достигают того же (с ограниченным пространством в окне) разными способами? – nepix32