#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, вам нужно:
- Нажмите кнопку «Опубликовать сеанс» в окне инспектора;
- Нажмите кнопку «Опубликовать» в окне редактора;
- Нажмите кнопку «Обновить» в окне редактора;
- Сохраните все файлы, отмеченные символом звезды.
Однако лучшим выбором является использование wxFormBuilder, потому что проект boa довольно старый и долгое время не обновлялся. http://sourceforge.net/projects/wxformbuilder /