Форум сайта python.su
0
Доброго времени суток!
Подскажите пожалуйста, как при помощи Glade создать некий мастер, например мастер создания пользователя. Пробовал использовать Gtk.Assistant но ни как не могу разобраться как на него добавить\удалить виджеты. В общем суть задачи получить окно с полями для ввода, чекбоксами и кнопками “далее” и “назад”. При нажатии на кнопку “далее”, центральная часть окна меняется, появляются новые поля для ввода и чекбоксы, при нажатии на кнопку “назад” можно было бы посмотреть предыдущие элементы с введенными данными.
Пробовал просто рисовать несколько окон, но получается мягко говоря коряво.
Может есть уже готовый пример или описание как сделать подобное, поделитесь пожалуйста.
Офлайн
1
Набрасал пример простенький.
#!/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Б)
Офлайн