gpt4 book ai didi

python - 如何让TabbedPannel的选项卡填满所有水平空间?

转载 作者:行者123 更新时间:2023-11-30 21:49:50 25 4
gpt4 key购买 nike

我正在使用 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 完美地按照我想要的方式工作,但是我希望选项卡填充所有水平空间。例如,如果我将 BoxLayoutButton 一起使用,它们会使用所有水平空间进行扩展,就像我想要的那样:

BoxLayout:
orientation: 'horizontal'
size_hint_y: 0.1
Button:
text: 'tab1'
Button:
text: 'tab2'
Button:
text: 'tab3'

Horizontal BoxLayout buttons

有没有办法调整 TabbedPannel 使其 TabbedPannelItem 选项卡可以使用所有水平空间?

最佳答案

TabbedPaneltab_width 属性设置为其宽度除以选项卡数量:

from kivy.app import App
from kivy.uix.tabbedpanel import TabbedPanel
from kivy.lang import Builder

Builder.load_string("""

<Test>:
do_default_tab: False
tab_width: self.size[0]/len(self.tab_list)
TabbedPanelItem:
text: 'tab 1'
TabbedPanelItem:
text: 'tab2'

TabbedPanelItem:
text: 'tab3'
""")

class Test(TabbedPanel):
pass

class TabbedPanelApp(App):
def build(self):
return Test()

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

关于python - 如何让TabbedPannel的选项卡填满所有水平空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31101949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com