如何使TabbedPannel的标签填满所有水平空格?

时间:2015-06-28 16:14:37

标签: python kivy

我正在使用kivy和kv语言创建一个简单的应用程序界面。界面包括搜索文本输入,搜索确认按钮和“添加”按钮。按钮。对此,应用程序的内容有一个TabbedPanel

#:import label kivy.uix.label
#:import sla kivy.adapters.simplelistadapter

<MenuScreen>:
    AnchorLayout:
        anchor_x: 'left'
        anchor_y: 'top'
        BoxLayout:
            orientation: 'vertical'
            BoxLayout:
                orientation: 'horizontal'
                size_hint_y: 0.15
                TextInput:
                    text: 'Search'

                Button:
                    size_hint_x: 0.2
                    text: 'Ok'
                Button:
                    size_hint_x: 0.2
                    text: '+'
            TabbedPanel:
                do_default_tab: False

                TabbedPanelItem:
                    text: 'tab1'
                    ListView:
                        orientation: 'vertical'
                        adapter:
                            sla.SimpleListAdapter(
                            data=["Item #{0}".format(i) for i in range(100)],
                            cls=label.Label)
                TabbedPanelItem:
                    text: 'tab2'
                    BoxLayout:
                        Label:
                            text: 'Second tab content area'
                        Button:
                            text: 'Button that does nothing'
                TabbedPanelItem:
                    text: 'tab3'
                    RstDocument:
                        text:
                            '\\n'.join(("Hello world", "-----------",
                            "You are in the third tab."))

这是设计输出:

kivy regular app interface

TabbedPannel完全按照我想要的方式工作,但是我想让标签填满所有水平空间。例如,如果我使用带有BoxLayout的{​​{1}},则会使用所有水平空间展开,就像我想要的那样:

Button

Horizontal BoxLayout buttons

有没有办法调整BoxLayout: orientation: 'horizontal' size_hint_y: 0.1 Button: text: 'tab1' Button: text: 'tab2' Button: text: 'tab3' ,以便其TabbedPannel个标签可以使用所有水平空格?

1 个答案:

答案 0 :(得分:3)

tab_width的{​​{1}}属性设置为宽度除以制表符数:

TabbedPanel