0
я не знаю, почему следующий код не работает, пожалуйста, помогите мне:Почему ScrolledPanel в wxpython не работает таким образом?
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()
Кнопка входа должна быть в NewPanel и NewPanel должны иметь возможность прокрутки, но это не так, в чем проблема?
на самом деле, я считаю, что вы должны использовать sizer. Документы говорят: «Предполагается, что ScrolledPanel будет иметь sizer, поскольку он используется для вычисления минимального виртуального размера панели и т. Д.» – Mark
Большое спасибо, ребята! – Shane