0
我嘗試提取可關閉的代碼TabbedPanel
from github here。Kivy可關閉TabbedPanel
它工作正常,但標籤的內容也不會被清除,只是標題。 如何在關閉時刪除Tab的內容?
from kivy.app import App
from kivy.animation import Animation
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.tabbedpanel import TabbedPanel, TabbedPanelHeader
from kivy.factory import Factory
from kivy.lang import Builder
class CloseableHeader(TabbedPanelHeader):
pass
class TestTabApp(App):
def build(self):
return Builder.load_string('''
TabbedPanel:
do_default_tab: False
FloatLayout:
BoxLayout:
id: tab_1_content
Label:
text: 'Palim 1'
BoxLayout:
id: tab_2_content
Label:
text: 'Palim 2'
BoxLayout:
id: tab_3_content
Label:
text: 'Palim 3'
CloseableHeader:
text: 'tab1'
panel: root
content: tab_1_content.__self__
CloseableHeader:
text: 'tab2'
panel: root
content: tab_2_content.__self__
CloseableHeader:
text: 'tab3'
panel: root
content: tab_3_content.__self__
<CloseableHeader>
color: 0,0,0,0
disabled_color: self.color
# variable tab_width
text: 'tabx'
size_hint_x: None
width: self.texture_size[0] + 40
BoxLayout:
pos: root.pos
size_hint: None, None
size: root.size
padding: 3
Label:
id: lbl
text: root.text
BoxLayout:
size_hint: None, 1
orientation: 'vertical'
width: 22
Button:
on_press:
root.panel.remove_widget(root)
''')
if __name__ == '__main__':
TestTabApp().run()
是我希望看到的選項卡1,現在我仍然會看到TAB2的內容。
不幸的是,這隻會清除小部件,但我希望如果關閉tab2,tab1會自動顯示。 – PalimPalim
我沒有設法做的唯一事情是自動顯示另一個標籤... –
@PalimPalim是否有效? –