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

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?

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

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()
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()
1 Beğeni