2015-08-12 3 views
0

Я очень новичок в wxpython, так что это, вероятно, очевидный вопрос.Как правильно создать многостраничный gui в wxpython

Предположим, я хотел создать программу like an installation wizard, которая при нажатии на нее уничтожает текущий набор виджетов и создает новый набор. Однако пользователь должен также вернуться к предыдущей странице.

Мне нужны классы для каждой страницы с их собственными __init__, могу ли я просто использовать обычную функцию, или есть лучший способ сделать это?

ответ

0

Существует несколько действительных подходов. Наиболее очевидным было бы просто использовать встроенный wxPython-мастер, который можно найти в wx.wizard. Вы можете взглянуть на documentation, wiki или демонстрацию wxPython для примеров. Вы можете также найти этот учебник полезным:

Конечно мастер немного ограничен, так что если вам нужно что-то, что дает вам больше гибкости, то вы можете захотеть взглянуть на загибайте собственный мастер. Если бы вы пошли с таким подходом, то да, вы, вероятно, выиграете от создания базового класса страницы, который будет содержать ваш ассортимент виджетов. Затем, как показано на каждой странице, вы можете либо Hide на предыдущей странице, либо Destroy. Лично я бы просто скрыл его, если у вас не было много виджетов на странице.

Это руководство может помочь вам начать работу по этому пути:

+0

Так это приемлемо практика для создания виджетов за пределами '__init__'? –

+0

Да. Многие люди будут создавать виджеты в определенном методе, который, например, вызывается чем-то в '__init__'. –

+0

Спасибо за ответы! Я только спрашиваю, потому что pycharm дает мне атрибут «мягкого предупреждения», определенный вне '__init__', но я полагаю, что это не проблема. –

Смежные вопросы