У меня есть вопрос относительно реализации окна и кнопки. Если у меня настроена панель инструментов и на ней есть кнопка, можно ли заставить ее открыть окно прямо в программе? Я имею в виду, как открыть другой раздел программы так же, как функция notepad1? Или я могу заставить его имитировать поведение системных настроек, когда он полностью открывает окно в том же окне? Если вы можете помочь, я ценю это. Я работаю с файлом по умолчанию, если это кому-нибудь поможет.
Я делаю это и в своем приложении. Я достиг этого, сделав что-то похожее на следующее:
В вашем главном окне получите ссылку на виджет, который вы хотите использовать в качестве родителя. Он должен быть производным от 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)
Я считаю, что такой же подход возможен в другом окне, но вам, возможно, придется не родитель этого Смотрите этот вопрос для получения дополнительной информации об этом здесь
Я делаю это и в своем приложении. Я достиг этого, сделав что-то похожее на следующее:
В вашем главном окне получите ссылку на виджет, который вы хотите использовать в качестве родителя. Он должен быть производным от 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)
Я считаю, что такой же подход возможен в другом окне, но вам, возможно, придется не родитель этого Смотрите этот вопрос для получения дополнительной информации об этом здесь
Я делаю это и в своем приложении. Я достиг этого, сделав что-то похожее на следующее:
В вашем главном окне получите ссылку на виджет, который вы хотите использовать в качестве родителя. Он должен быть производным от 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)
Я считаю, что такой же подход возможен в другом окне, но вам, возможно, придется не родитель этого Смотрите этот вопрос для получения дополнительной информации об этом здесь
Я делаю это и в своем приложении. Я достиг этого, сделав что-то похожее на следующее:
В вашем главном окне получите ссылку на виджет, который вы хотите использовать в качестве родителя. Он должен быть производным от 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)
Я считаю, что такой же подход возможен в другом окне, но вам, возможно, придется не родитель этого Смотрите этот вопрос для получения дополнительной информации об этом здесь
Я делаю это и в своем приложении. Я достиг этого, сделав что-то похожее на следующее:
В вашем главном окне получите ссылку на виджет, который вы хотите использовать в качестве родителя. Он должен быть производным от 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)
Я считаю, что такой же подход возможен в другом окне, но вам, возможно, придется не родитель этого Смотрите этот вопрос для получения дополнительной информации об этом здесь
Я делаю это и в своем приложении. Я достиг этого, сделав что-то похожее на следующее:
В вашем главном окне получите ссылку на виджет, который вы хотите использовать в качестве родителя. Он должен быть производным от 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)
Я считаю, что такой же подход возможен в другом окне, но вам, возможно, придется не родитель этого Смотрите этот вопрос для получения дополнительной информации об этом здесь