【问题标题】:Kivy nested tabbedpannelKivy 嵌套标签面板
【发布时间】:2017-04-23 19:50:05
【问题描述】:

我正在学习 Kivy 和 Kivy 语言。现在我正在尝试用两个嵌套的标签面板构建一个小界面。

在第一级三个选项卡和第一级的第一个选项卡内,我尝试放置一组新的三个选项卡。

为此,我的 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"

为什么这段代码不起作用?

【问题讨论】:

    标签: python user-interface tabs kivy kivy-language


    【解决方案1】:

    您需要嵌套另一个选项卡式面板。
    像这样:

    <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"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-06
      • 2021-04-03
      • 2012-07-09
      • 2011-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多