我需要获取当前选项卡的名称。我检查了这个话题。并尝试了这段代码:
from kivy.lang import Builder
from kivy.uix.screenmanager import Screen, ScreenManager
from kivy.uix.floatlayout import FloatLayout
from kivymd.uix.tab import MDTabsBase
from kivymd.app import MDApp
kv = Builder.load_string("""
<SM>
P1:
<P1>
BoxLayout:
orientation: 'vertical'
MDToolbar:
title: 'TEST'
MDTabs:
id: toolbar
on_tab_switch: root.give_current_tab_name()
Tab:
text: 'Tab 1'
Tab:
text: 'Tab 2'
Tab:
text: 'Tab 3'
""")
class P1(Screen):
def give_current_tab_name(self):
print(self.ids.toolbar.carousel.current_slide.tab_label.text) #It gives previous tab name...
class Tab(FloatLayout,MDTabsBase):
pass
class SM(ScreenManager):
pass
class MyApp(MDApp):
def build(self):
return SM()
if __name__ == '__main__':
MyApp().run()
但是,它给了我以前选项卡的名称。我应该使用 schedule_once(testfunc,delay_time) 检查当前选项卡的名称,还是有其他简单的方法可以做到这一点?
此外,我需要禁止滑动页面以更改选项卡。它只能来自顶部选项卡的名称。任何人都可以帮助我解决这些问题。已经谢谢了。。