Форум сайта python.su
Доброго времени суток!
Подскажите пожалуйста, как при помощи Glade создать некий мастер, например мастер создания пользователя. Пробовал использовать Gtk.Assistant но ни как не могу разобраться как на него добавить\удалить виджеты. В общем суть задачи получить окно с полями для ввода, чекбоксами и кнопками “далее” и “назад”. При нажатии на кнопку “далее”, центральная часть окна меняется, появляются новые поля для ввода и чекбоксы, при нажатии на кнопку “назад” можно было бы посмотреть предыдущие элементы с введенными данными.
Пробовал просто рисовать несколько окон, но получается мягко говоря коряво.
Может есть уже готовый пример или описание как сделать подобное, поделитесь пожалуйста.
Офлайн
Набрасал пример простенький.
#!/usr/bin/python # -*- coding:utf-8 -*- from gi.repository import Gtk class Handler: def on_assistant_delete_event(self, *args): Gtk.main_quit(*args) def on_assistant_close(self, widget): text = builder.get_object('entry1').get_text() print 'ФИО:', text text = builder.get_object('entry2').get_text() print 'Дата рождения:', text self.on_assistant_delete_event() builder = Gtk.Builder() builder.add_from_file("assistant.ui") builder.connect_signals(Handler()) window = builder.get_object("assistant") box = builder.get_object('box1') page = window.append_page(box) window.set_page_title(box, "Page 1") window.set_page_type(box, Gtk.AssistantPageType.INTRO) window.set_page_complete(box, True) box = builder.get_object('box2') page = window.append_page(box) window.set_page_title(box, "Page 2") window.set_page_complete(box, True) box = builder.get_object('box3') page = window.append_page(box) window.set_page_title(box, "Page 3") window.set_page_type(box, Gtk.AssistantPageType.SUMMARY) window.set_page_complete(box, True) window.show_all() Gtk.main()
Прикреплённый файлы: assistant.ui (3,1 KБ)
Офлайн