Kivy 嵌套选项卡面板
Kivy nested tabbedpannel
我正在学习基维语和基维语。现在我正在尝试用两个嵌套的选项卡面板构建一个小界面。
在第一级的三个选项卡上和第一级的第一个选项卡内,我尝试放置一组新的三个选项卡。
为此,我的 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"
为什么此代码不起作用?
您需要嵌套另一个选项卡面板。
像这样:
<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"
我正在学习基维语和基维语。现在我正在尝试用两个嵌套的选项卡面板构建一个小界面。
在第一级的三个选项卡上和第一级的第一个选项卡内,我尝试放置一组新的三个选项卡。
为此,我的 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"
为什么此代码不起作用?
您需要嵌套另一个选项卡面板。
像这样:
<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"