I started with kivy, I have generally understood the main concepts (it's quite similar to tkinter)
but there is something that I can not do, I would like to create a tab bar at the top of my window (as there is in the web browser)
The only tutorial I find does not look like my code: https://kivy.org/docs/api-kivy.uix.tabbedpanel.html
my code:
from kivy.uix.button import Buttonfrom kivy.uix.label import Labelfrom kivy.uix.boxlayout import BoxLayoutfrom kivy.uix.textinput import TextInputclass MyApp(App):# layout def build(self): layout = BoxLayout(orientation='vertical') # use a (r, g, b, a) tuple blue = (0, 0, 1.5, 2.5) red = (2.5, 0, 0, 1.5)
btn = Button(text='Touch me!', background_color=blue, font_size=120) btn.bind(on_press=self.callback) btn2 = Button(text='btn2', background_color=red, font_size=120) layout.add_widget(btn) layout.add_widget(btn2)
self.label = Label(text="------------", font_size='50sp') layout.add_widget(self.label)
btn1 = Button(text="OK") btn1.bind(on_press=self.buttonClicked) layout.add_widget(btn1) self.lbl1 = Label(text="test") layout.add_widget(self.lbl1) self.txt1 = TextInput(text='', multiline=False) layout.add_widget(self.txt1) return layout
def callback(self, event): print("button touched") # test self.label.text = "button touched"
# button click function def buttonClicked(self,btn): self.lbl1.text = "You wrote " + self.txt1.text
# run appif __name__ == "__main__": MyApp().run()I try to add tabpannel but i have two question :
1) how can i change name of tab ? and remove "defaulttab"
2) why my widget not in my tab ?
from kivy.uix.button import Buttonfrom kivy.uix.label import Labelfrom kivy.uix.boxlayout import BoxLayoutfrom kivy.uix.textinput import TextInputfrom kivy.uix.tabbedpanel import TabbedPanelfrom kivy.uix.tabbedpanel import TabbedPanelItem
class MyApp(App):# layout def build(self): layout = BoxLayout(orientation='vertical') # use a (r, g, b, a) tuple blue = (0, 0, 1.5, 2.5) red = (2.5, 0, 0, 1.5)
tab=TabbedPanel() tabitem=TabbedPanelItem() tab.add_widget(tabitem) layout.add_widget(tab)
btn = Button(text='Touch me!', background_color=blue, font_size=120) btn.bind(on_press=self.callback) btn2 = Button(text='btn2', background_color=red, font_size=120) tabitem.add_widget(btn) tabitem.add_widget(btn2)
self.label = Label(text="------------", font_size='50sp') tabitem.add_widget(self.label)
btn1 = Button(text="OK") btn1.bind(on_press=self.buttonClicked) tabitem.add_widget(btn1) self.lbl1 = Label(text="test") tabitem.add_widget(self.lbl1) self.txt1 = TextInput(text='', multiline=False) tabitem.add_widget(self.txt1)
return layout
def callback(self, event): print("button touched") # test self.label.text = "button touched"
# button click function def buttonClicked(self,btn): self.lbl1.text = "You wrote " + self.txt1.text
# run appif __name__ == "__main__": MyApp().run()tab = TabbedPanel()
tab.do_default_tab = False