wxPython在运行时向ScrolledWindow添加/删除控件

时间:2019-04-29 14:28:59

标签: python python-3.x wxpython

我正在尝试向ScrolledWindow中的wxPython添加/删除多个项目。
目前,我具有以下控制体系结构: Imgur

我想将resultItem_panel的多个实例添加到result_scrolledWindow
这样做时,我首先必须手动缩放窗口,方法是用光标拖动窗口以进行更新,并用result_scrolledWindow来显示滚动条。
我目前的代码:

def __addPublication(self, pub: Publication) -> None:
    resultItem_panel = ResultItemPanel(self, pub)

    # Add to parent sizer:
    self.result_sizer.Add(resultItem_panel, 0, wx.ALL, 5)
    self.Layout()
    self.Parent.Fit()

    # Store it so we later can Destroy() it again:
    self.resultItemPanels.append(resultItem_panel)

def clearPublications(self) -> None:
    for pub in self.resultItemPanels:
        pub.Destroy()
    self.resultItemPanels = []

    self.Layout()
    self.Parent.Fit()

我在这里做什么错了?

1 个答案:

答案 0 :(得分:0)

替换:

self.Layout()
self.Parent.Fit()

具有:

self.result_sizer.Layout()
self.PostSizeEvent()

帮了我大忙。
参考:Phoenix (wxPython) #1221