2013-05-24 6 views
6

В настоящее время я разрабатываю небольшое приложение на Python с использованием GTK + (и Glade). До сих пор все было довольно просто, пока я не придумал добавить вкладки вместо всплывающих окон. Примечание: все еще используется Python 2.7+Python GTK (Glade) Notebook

Есть ли какой-либо простой способ реализовать уже существующие страницы внутри новой вкладки (ноутбука), такой как структура? У меня возникли трудности с поиском добавления содержимого на отдельную вкладку, созданную на поляне. Perhabs более «четкий» вопрос: Какая функция Notebook потребуется для вызова определенного V/HBox с каждой отдельной вкладкой? Текущая структура выглядит как (минус меню/статусной):

[ mainWindow ] --> (1) mainOverview (gtkVbox) --> (2A) mainContent (gtkHbox) ... other non-related content

Структура Я надеялся бы выглядеть следующим образом:

[ mainWindow ] --> (1) mainOverview --> (2) noteBook --> (3) Tab1 --> (4) mainContent (gtkHbox) -- (3) Tab2 --> (4) secondaryContent (gtkHbox)

Само приложение работает отлично (многопоточный, полностью функционирует) без вкладок, mainContent(gtkHbox) содержит анализатор файлов/рекурсивных каталогов, несколько флажков и общий обзор. Я надеялся на простой способ отобразить это главное окно (gtkHbox) ТОЛЬКО при выборе Tab1.

Не удается найти хорошие справочные страницы, которые отображают надлежащий способ вызова страниц контента на вкладке для ноутбука. Любые справочные страницы или полезные ссылки очень ценятся! Спасибо, пока! Мои извинения, если это довольно новичок, я не новичок в кодировании Python, но с другой стороны интерфейсы ...;)

+3

Умм есть ли у вас трудности с добавлением содержимого на поляне на каждую страницу? Если вы дважды щелкните по вкладке, то эта страница будет выбрана для добавления контента на поляне. Вы можете продолжить и добавить контент для этой страницы. Что касается переключения, вы можете использовать ['set_current_page'] (https://developer.gnome.org/pygtk/2.24/class-gtknotebook.html#method-gtknotebook--set-currentpage), чтобы перейти на страницу, содержимое которой вы хотите отобразить. Зарегистрируйтесь на ['" switch-page "'] (https://developer.gnome.org/pygtk/2.24/class-gtknotebook.html#signal-gtknotebook--switch-page), чтобы узнать, какая страница была переключена к. –

+1

@ another.anon.coward: Я никогда не думал, что это будет так просто. Я надеялся на простое решение, находящееся внутри самого кода, но так и не придумал, что вы можете просто «перетащить» H/VBoxes на каждую вкладку в самой Glade! Спасибо огромное! :) – Mark

ответ

0

Не ответ, но он выглядит как «another.anon.coward» уже ответил на это в комментарии ...

Если вы дважды щелкните по вкладке, тогда эта страница будет выбрана для добавления контента в поляну. Вы можете продолжить и добавить контент для этой страницы. Что касается переключения, вы можете использовать set_current_page для переключения на страницу, содержимое которой вы хотите отобразить. Зарегистрируйте сигнал «switch-page», чтобы узнать, на какую страницу была переключена.

Смежные вопросы