Python 如何制作TabbedPannel&x27;s选项卡是否填充所有水平空间?
我正在使用kivy和kv语言创建一个简单的应用程序界面。该界面由搜索文本输入、搜索确认按钮和“添加”按钮组成。在下面,有一个用于应用程序内容的Python 如何制作TabbedPannel&x27;s选项卡是否填充所有水平空间?,python,kivy,Python,Kivy,我正在使用kivy和kv语言创建一个简单的应用程序界面。该界面由搜索文本输入、搜索确认按钮和“添加”按钮组成。在下面,有一个用于应用程序内容的选项卡面板: #:import label kivy.uix.label #:import sla kivy.adapters.simplelistadapter <MenuScreen>: AnchorLayout: anchor_x: 'left' anchor_y: 'top' B
选项卡面板
:
#: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
以便其TabbedPannelItem
s选项卡可以使用所有水平空间?将TabbedPanel
的选项卡宽度属性设置为其宽度除以选项卡数量:
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()
从kivy.app导入应用
从kivy.uix.tabbedpanel导入tabbedpanel
从kivy.lang导入生成器
生成器。加载\u字符串(“”)
:
do_default_选项卡:False
制表符宽度:self.size[0]/len(self.tab\u列表)
选项卡式面板项目:
文本:“表1”
选项卡式面板项目:
文本:“tab2”
选项卡式面板项目:
文本:“tab3”
""")
类别测试(选项卡式面板):
通过
类别选项卡PanelApp(应用程序):
def生成(自):
返回测试()
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
TabbedPanelApp().run()
将选项卡面板
的选项卡宽度
属性设置为其宽度除以选项卡数量:
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()
从kivy.app导入应用
从kivy.uix.tabbedpanel导入tabbedpanel
从kivy.lang导入生成器
生成器。加载\u字符串(“”)
:
do_default_选项卡:False
制表符宽度:self.size[0]/len(self.tab\u列表)
选项卡式面板项目:
文本:“表1”
选项卡式面板项目:
文本:“tab2”
选项卡式面板项目:
文本:“tab3”
""")
类别测试(选项卡式面板):
通过
类别选项卡PanelApp(应用程序):
def生成(自):
返回测试()
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
TabbedPanelApp().run()
太棒了!非常感谢你!精彩的!非常感谢你!