Открытие окна в уже открытом окне (Quickly / Glade)

У меня есть вопрос относительно реализации окна и кнопки. Если у меня настроена панель инструментов, и на ней есть кнопка, можно ли заставить ее открыть окно прямо в программе? Я имею в виду, как открыть другой раздел программы так же, как функция notepad1? Или я могу заставить его имитировать поведение системных настроек, когда он полностью открывает окно в том же окне? Если вы можете помочь, я ценю это. Я работаю с файлом по умолчанию, если это кому-нибудь поможет.

0
задан 28 June 2012 в 16:25

1 ответ

Я делаю это и в своем приложении. Я достиг этого, сделав что-то похожее на следующее:

В вашем главном окне получите ссылку на виджет, который вы хотите использовать в качестве родителя. Он должен быть производным от GtkContainer (например, GtkBox). В моем случае я сделал что-то вроде следующего в конструкторе классов:

self.itemAsMyContainer = self.builder.get_object("name_of_object_id")

Затем я использовал glade для создания другого отдельного пользовательского файла с производной GtkContainer, такой (в моем случае GtkBox), как его объект верхнего уровня, а затем изменил его имя класса таким же образом, как быстро это делает. Затем я создал отдельный класс для него аналогично _lib/Window.py в быстром шаблоне. Как только это будет сделано, я могу просто создать экземпляр этого нового класса и прикрепить его к указанному контейнеру с помощью фрагмента кода:

self.my_sub_ui = MySexyGtkContainerSubClass()
self.itemAsMyContainer.pack_start(self.my_sub_ui)

Я полагаю, что такой же подход возможен с другим окном, но вам, возможно, придется отключить родительский класс Это. См. Этот вопрос для получения дополнительной информации об этом здесь

0
ответ дан 28 June 2012 в 16:25

Другие вопросы по тегам:

Похожие вопросы: