wxpython скрыть все элементы sizer

У меня есть скрипт, который использует несколько панелей в зависимости от того, какие строки кода выполняются в то время. Я намерен показывать и скрывать панели по мере необходимости и использовать макет после каждого изменения, чтобы все было красиво и аккуратно. Это работает для меня в целом, но я столкнулся с загадкой. Сначала, когда количество панелей было небольшим, я прятал нужные с помощью названий панелей или других наименований элементов. Поскольку сценарий стал более сложным и перестал быть практичным, я всегда хотел скрывать все каждый раз, поэтому мне не пришлось беспокоиться о том, чтобы отслеживать то, что отображалось в любой момент времени, а затем просто показывать панель, которая была необходима в тот момент исполнения. Глядя на документацию по sizer, я подумал, что это будет простой вопрос использования:

self.MainSizer.ShowItems(False)

но это породило следующую ошибку:

Файл "C:\Python27\lib\site-packages\wx-2.8-msw-unicode\wx_core.py", строка 13192, в ShowItems возвращает ядро.Sizer_ShowItems(*args, **kwargs) wx._core.PyAssertionError: C++ Ошибка утверждения "wxAssertFailure" в....\src\common\sizer.cpp(436) в wxSizerItem::Show(): невозможно отобразить неинициализированный элемент sizer

0 ответов

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