में FoldPanelBar का विस्तार करने पर प्रकट नहीं हो रहे हैं जब फ़ोल्ड पैनल विस्तारित होते हैं, तो यह फ्रेम के बाहर जाता है और स्क्रॉल बार दिखाई नहीं दे रहे हैं। मैंने स्क्रॉल किए गए पैनेल का उपयोग करने की कोशिश की, लेकिन मदद नहीं की। कोई विचार क्या मैं यहाँ याद कर रहा हूँ?स्क्रॉलबार WxPython
import wx
from wx.lib import scrolledpanel
import wx.lib.agw.foldpanelbar as fpb
import wx.lib.scrolledpanel as sp
class MyPanel(sp.ScrolledPanel):
def __init__(self, parent):
sp.ScrolledPanel.__init__(self, parent=parent, size=parent.GetSize(), style = wx.ALL|wx.EXPAND)
#self.SetAutoLayout(1)
self.SetupScrolling()
##self.boxSizer = wx.BoxSizer(wx.VERTICAL)###
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, style=wx.LC_REPORT)
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)
btnAutoFix = wx.Button(item, wx.ID_ANY, "Go", size=(50,-1))
m_pnl.AddFoldPanelWindow(item, btnAutoFix)
###self.boxSizer.Add(m_pnl)##
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
##self.SetSizer(self.boxSizer)###
if __name__ == '__main__':
app = wx.App(False)
frame = wx.Frame(None, size=(650, 400), style=wx.DEFAULT_FRAME_STYLE)
panel = MyPanel(frame)
# Add sizer information for the scrolled panel
szmain = wx.BoxSizer(wx.VERTICAL)
szmain.Add(panel.pnl, 1, wx.EXPAND|wx.ALL, 4)
panel.SetSizer(szmain)
frame.Show()
app.MainLoop()
दुर्भाग्य से, मुझे नहीं लगता कि यह 'FoldPanelBar' वर्ग' का उपयोग करके संभव है। यदि आप 'EVT_CAPTIONBAR' ईवेंट पकड़ते हैं और 'self.pnl.GetSize() प्रिंट करते हैं, तो यह हमेशा एक निरंतर मान होता है, जिसका अर्थ है कि' FoldPanelBar 'कभी भी आकार बदलता नहीं है। आप शायद इसके बजाय 'wxCollapsiblePane' का उपयोग कर सकते हैं, लेकिन आप इसकी उपस्थिति को अनुकूलित करने में सक्षम नहीं होंगे। – tjohnson
डुप्लिकेट, देखें [wxpython-users में समानांतर पोस्ट] (https://groups.google.com/forum/#!topic/wxpython-users/tzjhIIttjH4) – nepix32
लेकिन अभी तक कोई समाधान नहीं है। ऐसा लगता है कि यह स्क्रॉलबार का समर्थन नहीं करता है :( – devnull