Уведомления

Группа в Telegram: @pythonsu

#1 Март 12, 2014 12:22:19

vladimirse
Зарегистрирован: 2013-09-02
Сообщения: 69
Репутация: +  0  -
Профиль   Отправить e-mail  

Glade создание мастера

Доброго времени суток!
Подскажите пожалуйста, как при помощи Glade создать некий мастер, например мастер создания пользователя. Пробовал использовать Gtk.Assistant но ни как не могу разобраться как на него добавить\удалить виджеты. В общем суть задачи получить окно с полями для ввода, чекбоксами и кнопками “далее” и “назад”. При нажатии на кнопку “далее”, центральная часть окна меняется, появляются новые поля для ввода и чекбоксы, при нажатии на кнопку “назад” можно было бы посмотреть предыдущие элементы с введенными данными.
Пробовал просто рисовать несколько окон, но получается мягко говоря коряво.
Может есть уже готовый пример или описание как сделать подобное, поделитесь пожалуйста.

Офлайн

#2 Апрель 16, 2014 10:17:25

b_oss
От:
Зарегистрирован: 2008-10-05
Сообщения: 17
Репутация: +  1  -
Профиль   Отправить e-mail  

Glade создание мастера

Набрасал пример простенький.

#!/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()
Glade файл, смотри в прикрепленных.



Прикреплённый файлы:
attachment assistant.ui (3,1 KБ)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version