Screenmanager ile kivy md yapma


#1

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


kv='''
<ekran1>:
	BoxLayout:
		canvas:
			Color:
				rgba:(.2,0,0,1)
			Rectangle:
				size:self.size
				pos:self.pos
		BoxLayout:
			orientation:'vertical'		
	    	Button:
		    	text:'ileri'
		    	size_hint_y:.1
	    		on_press:
			    	root.manager.transition.direction='left'
		    		root.manager.current='ekran2'
 	   	BoxLayout:
		        orientation:'vertical'
	    		pos_hint:{'x':.0,'y':.9}
	    		size_hint:.6,.9
		        Button:
		            text:'masaüstü'
			
<ekran2>:
	BoxLayout:
		canvas:
			Color:
				rgba:(.2,.2,0,9)
			Rectangle:
				size:self.size
				pos:self.pos
		BoxLayout:
			orientation:'vertical'
			Button:
				text:'geri'
				size_hint_y:.1
				on_press:
					root.manager.transition.direction='right'
					root.manager.current='ekran1'
				
			Label:
				text:'Masaüstü 2'
				size_hint_y:.9
			BoxLayout:
				orientation:'vertical'
				size_hint_y:.8
				Button:
					text:'üçümcü ekran'
					on_press:root.manager.current='ekran3'
				Button:
					text:'2'
				Button:
					text:'3'
				Button:
					text:'4'
<ekran3>:
	BoxLayout:
		canvas:
			Color:
				rgba:(.3,0,.3,3)
			Rectangle:
				size:self.size
				pos:self.pos
		BoxLayout:
			orientation:'vertical'
			Button:
				text:'ana ekran'
				size_hint_y:.1
			    on_press:root.manager.current='ekran2'
			Label:
				text:'ana ekran'
				size_hint_y:.8
						
	
'''
Builder.load_string(kv)

class ekran1(Screen):
	pass
class ekran2(Screen):
	pass
class ekran3(Screen):
	pass
	
sm=ScreenManager()
sm.add_widget(ekran2(name='ekran2'))
sm.add_widget(ekran1(name='ekran1'))
sm.add_widget(ekran3(name='ekran3'))	

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

2 inci ekrana tıkladığımda 1 inci ekranı efektt ile nasıl 2 inci ekrana getirebilirim.


#2

Efekti bu şekilde ekliyebilirsin.

sm = ScreenManager(transition = efekt_ismi())

Aşşağıdaki resimde isimleri var.


#3

Eger efektler farklı olucaksa
sm2 = ScreenManager()
şeklinde yazarak veya başka bir isim vererek kullanabilirsiniz.


#4

Dediğim çekmeceli butonun vektör ve toggle button ile yapıldığını gördüm.Fakat vektör kullanımı bana karışık geldi.


#5

vektörlere bende bakdım. Bende birşey anlamadım. :smile:


#6

Sana yazılı kaynak atsam dener misin.
Bilgisayarımın görüntü kırılması sorunu var. ubuntu hata verdi linux mint kurucam.
Mssanger varmı.


#7

Olur denerim. :slight_smile: burdan atabilirsin.