wxPython добавление / удаление элементов управления во время выполнения в ScrolledWindow - PullRequest
0 голосов
/ 29 апреля 2019

Я пытаюсь добавить / удалить несколько элементов в 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 голосов
/ 18 мая 2019

Замена:

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

с:

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

помог мне.
Ссылка: Феникс (wxPython) # 1221

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...