Добавление/удаление элементов управления wxPython во время выполнения в ScrolledWindow

Я пытаюсь добавить/удалить несколько элементов в ScrolledWindow в wxPython.
На данный момент у меня есть следующая архитектура управления: Добавление/удаление элементов управления wxPython во время выполнения в ScrolledWindow

Я хочу добавить несколько экземпляров 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()

Что я здесь делаю неправильно?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
48
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Замена:

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

с участием:

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

сделал трюк для меня.
Ссылка: Феникс (wxPython) #1221

Другие вопросы по теме