Добавление вкладок в записную книжку с помощью конструктора Boa

#python #user-interface #wxpython #boa-constructor

#python #пользовательский интерфейс #wxpython #boa-constructor

Вопрос:

У меня возникли проблемы с использованием Boa Constructor, в частности, при создании графического интерфейса с помощью записной книжки с вкладками. Я не могу заставить приложение отображать несколько вкладок или панелей. Я создал wx.App-> wx.Frame-> wx.Notebook и некоторые панели внутри записной книжки (как показано на вкладке «Objs» в «Инспекторе».

Я просматривал пример ‘ExamplesadvancedFramePanels’ из папки boa и, просмотрев код, я могу понять, почему он не работает. Отсутствует функция, которая, похоже, сгенерирована boa (как часть класса Frame):

 _custom_classes = {'wx.Panel': ['wxPanel1', 'wxPanel2', 'wxPanel3']}
def _init_coll_notebook1_Pages(self, parent):
    # generated method, don't edit

    parent.AddPage(imageId=-1, page=self.panel1, select=False,
          text='Pages0')
    parent.AddPage(imageId=-1, page=self.panel2, select=True, text='Pages1')
    parent.AddPage(imageId=-1, page=self.panel3, select=False,
          text='Pages2')
  

В разделе _init_ctrls кода также есть строка, вызывающая функцию.
Итак, мой вопрос в том, как вы можете заставить boa добавить эти строки кода?

Из прочитанного я мог бы закодировать это вручную, но я не хочу этого делать. Я использую wxPython для создания нескольких простых графических интерфейсов для людей, которые не умеют использовать CLI, поэтому я хочу упростить процесс.

Спасибо за вашу помощь

Комментарии:

1. Почему вы не используете wxglade? Проще, чем BoaCons, поддерживается, и у afaik нет проблем с вкладками в записной книжке.

2. Я использовал это ранее, но Boa был намного лучше, пока я не добрался до этой проблемы. Возможно, стоит знать, что я не использовал Windows, где это могло бы быть менее глючным

3. просто чтобы сказать, что wxglade претерпел много улучшений за последние 2-3 года. Теперь он очень стабилен. Для последних версий вы должны получить его из bitbucket ( bitbucket.org/agriggio/wxglade )

Ответ №1:

Каждый раз, когда вы меняете или добавляете что-то новое в форму gui, вам нужно:

  1. Нажмите кнопку «Опубликовать сеанс» в окне инспектора;
  2. Нажмите кнопку «Опубликовать» в окне редактора;
  3. Нажмите кнопку «Обновить» в окне редактора;
  4. Сохраните все файлы, отмеченные символом звезды.

Однако лучшим выбором является использование wxFormBuilder, потому что проект boa довольно старый и долгое время не обновлялся. http://sourceforge.net/projects/wxformbuilder /