Вопрос:

Киви вложенный вкладочный канал

python user-interface tabs kivy kivy-language

64 просмотра

1 ответ

12 Репутация автора

Я нахожусь в процессе изучения Kivy и Kivy языка. Сейчас я пытаюсь создать небольшой интерфейс с двумя вложенными панелями tabbedpanel.

На вкладке первого уровня три и внутри первой вкладки первого уровня я пытаюсь поместить новый набор из трех вкладок.

Для этой цели мой код Python:

# question_one
from kivy.uix.tabbedpanel import TabbedPanel
from kivy.app import App


class Q(TabbedPanel):
    pass


class QuestionOneApp(App):
    def build(self):
        return Q()


if __name__ == '__main__':
    QuestionOneApp().run()

и мой код языка Kivy:

# file name questionone.kv
#:import hex kivy.utils.get_color_from_hex


<RegularInterfaceLabel@Label>:

<RegularInterfaceTextInput@TextInput>:
    multiline: False

<MyGridLayout@GridLayout>:
    rows: 1
    cols: 1
    spacing: 5


<Q>:
    do_default_tab: False
    tab_width: 200
    TabbedPanelItem:
        text: "First Level Tab A1"
        do_default_tab: False
        tab_width: 200

        TabbedPanelItem:
            text: "Second level Tab B1"
            MyGridLayout
                RegularInterfaceLabel:
                    text: "Second level Tab B1 is working"

        TabbedPanelItem:
            text: "Second level Tab B2"
            MyGridLayout
                RegularInterfaceLabel:
                    text: "Second level Tab B2 is working"

        TabbedPanelItem:
            text: "Second level Tab B3"
            MyGridLayout
                RegularInterfaceLabel:
                    text: "Second level Tab B3 is working but not as i want"

    TabbedPanelItem:
        text: "First Level Tab A2"
        MyGridLayout
            RegularInterfaceLabel:
                text: "First Level Tab A2 is working"

    TabbedPanelItem:
        text: "First Level Tab A3"
        MyGridLayout
            RegularInterfaceLabel:
                text: "First Level Tab A3 is working"

Почему этот код не работает?

Автор: Baltazarg Источник Размещён: 23.04.2017 07:50

Ответы (1)


1 плюс

3998 Репутация автора

Решение

Вам нужно вложить еще одну вкладку.
Как это:

<Q>:
    do_default_tab: False
    tab_width: 200
    TabbedPanelItem:
        text: "First Level Tab A1"
        do_default_tab: False
        tab_width: 200

        TabbedPanel:    
            TabbedPanelItem:
                text: "Second level Tab B1"
                MyGridLayout
                    RegularInterfaceLabel:
                        text: "Second level Tab B1 is working"
Автор: el3ien Размещён: 23.04.2017 09:03
Вопросы из категории :
32x32