Как получить виджет, связанный с экземпляром AuiPaneInfo?

У меня есть фрейм, которым управляет wx.lib.agw.aui.AuiManager. Фрейм содержит панель, которую можно свернуть, и не содержит AuiToolBar. Когда панель свернута, она оказывается в автоматически созданном AuiToolBar. Если я нажму на значок AuiToolBar, панель восстановится, а AuiToolBar будет уничтожен (или, по крайней мере, скроется из поля зрения). Однако, когда я использую:

      tPane = self._mgr.GetPaneByName('CorrAConf')
if tPane.IsMinimized():
    self._mgr.RestorePane(tPane)

панель восстанавливается, но AuiToolBar не уничтожается, а значок свернутой панели остается видимым, но больше не работает. И если я снова свернул панель, я получаю сообщение об ошибке, говорящее о том, что свернутая версия панели уже существует.

Есть ли способ автоматически уничтожить AuiToolBar при программном восстановлении панели, как это происходит, когда я щелкаю значок свернутой панели?

Я попытался получить прямой доступ к AuiToolBar, чтобы проверить, есть ли только один элемент, а затем уничтожить его, но мне не удалось получить фактический экземпляр AuiToolBar. Я старался:

      for k in self._mgr.GetAllPanes():
    if k.IsToolbar():
        tToolBar = self._mgr.GetPane(k)

Но я не знаю, как связать AuiToolBar с этой панелью. Как я могу получить AuiToolBar, связанный с tToolBarпанель?

0 ответов

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