我正在使用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."))
这是设计输出:
TabbedPannel
完全按照我想要的方式工作,但是我想让标签填满所有水平空间。例如,如果我使用带有BoxLayout
的{{1}},则会使用所有水平空间展开,就像我想要的那样:
Button
有没有办法调整BoxLayout:
orientation: 'horizontal'
size_hint_y: 0.1
Button:
text: 'tab1'
Button:
text: 'tab2'
Button:
text: 'tab3'
,以便其TabbedPannel
个标签可以使用所有水平空格?
答案 0 :(得分:3)
将tab_width
的{{1}}属性设置为宽度除以制表符数:
TabbedPanel