Je ne sais pas pourquoi le code suivant ne fonctionne pas, s'il vous plaît, aidez-moi:Pourquoi ScrolledPanel dans wxpython ne fonctionne pas de cette façon?
import wx
import wx.lib.scrolledpanel as scrolled
class TaskFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, parent = None, id = -1, title="ScrolledPanel", size = (500, 600))
MainPanel = wx.Panel(self)
NewPanel = scrolled.ScrolledPanel(parent = MainPanel, pos = (100, 100), size = (300, 200), id = -1, style = wx.TAB_TRAVERSAL|wx.SUNKEN_BORDER, name="panel")
self.Button = wx.Button(parent = NewPanel, id = -1, label="Log", pos=(500, 30), size=(50, 20))
NewPanel.SetupScrolling()
class TaskApp(wx.App):
def OnInit(self):
self.frame = TaskFrame()
self.frame.Show()
self.SetTopWindow(self.frame)
return True
def main():
App = TaskApp(redirect = False)
App.MainLoop()
if __name__ == "__main__":
main()
Le bouton Log doit être dans le newpanel et le newpanel devrait être en mesure de faire défiler, mais ce n'est pas, quelle est la problème?
en fait, je crois que vous devez utiliser un calibreur. Les docs disent: "On suppose que le ScrolledPanel aura un calibreur, car il est utilisé pour calculer la taille minimale virtuelle du panneau et etc." – Mark
Merci beaucoup, les gars! – Shane