Kİvy kv. dosyasında modül aktarma


#1

kv dosyasında TabbedPanel kullanmak istiyorum ama sınıfa screen modülünü yazdıgım için tabbedpanel hatası veriyor. Bunu kv dosyasında mı py. dosyasında mı aktarmam gerekiyor?


#2

Kücük bir kod örneği ve aldığin hatayı yazarsan sorunu daha iyi anlamış oluruz.


#3

main3 sınıfından main2 sınıfına geçmesi gerekiyor. Main2 tabbedpabel kullandığım için hata veriyor.


from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.tabbedpanel import TabbedPanel

Builder.load_string("""

<main3>:
	Button:
		text: "Tıkla"
		on_release:
			root.manager.transition.direction = "down"
			root.manager.transition.duration = 1
			root.manager.current = "main3"

<main2>:
	do_default_tab: False
	tab_pos: "right_top"
    tab_height: 200
    tab_width: 200
	TabbedPanelItem:
		text: "1. Tab"
        canvas.before:
            PushMatrix
            Rotate:
                angle: 90
                origin: self.center
        canvas.after:
            PopMatrix		
	TabbedPanelItem:
		text: "2. Tab"
        canvas.before:
            PushMatrix
            Rotate:
                angle: 90
                origin: self.center
        canvas.after:
            PopMatrix

""")
class main2(Screen):
	pass
	
class main3(Screen):
	pass

sm = ScreenManager()
sm.add_widget(main3(name = "main3"))
sm.add_widget(main2(name = "main2"))

class main(App):
	def build(self):
		return sm
		
main().run()

#4
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.tabbedpanel import TabbedPanel

Builder.load_string("""

<main3>:
	Button:
		text: "Tıkla"
		on_release:
			root.manager.transition.direction = "down"
			root.manager.transition.duration = 1
			root.manager.current = "main2"

<main2>:
    TabbedPanel:
    	do_default_tab: False
    	tab_pos: "right_top"
        tab_height: 200
        tab_width: 200
    	TabbedPanelItem:
    		text: "1. Tab"
            canvas.before:
                PushMatrix
                Rotate:
                    angle: 90
                    origin: self.center
            canvas.after:
                PopMatrix		
    	TabbedPanelItem:
    		text: "2. Tab"
            canvas.before:
                PushMatrix
                Rotate:
                    angle: 90
                    origin: self.center
            canvas.after:
                PopMatrix

""")
class main2(Screen):
	pass
	
class main3(Screen):
	pass

sm = ScreenManager()
sm.add_widget(main3(name = "main3"))
sm.add_widget(main2(name = "main2"))

class main(App):
	def build(self):
		return sm
		
main().run()