Kivy'de düğmeye tıklandığında yukarıya yazmak

kv dosyasını yuklemeniz lazım.

Eger kv lang ı tek bir Scriptte kullanmak istiyorsaniz;

from kivy.lang import Builder
Builder.load_string(yukleyecegin_kv_stringi)

Ornek


from kivy.app import App
from kivy.uix.boxlayout import BoxLayout 
from kivy.lang import Builder

kv = """
<main2>:
	orientation: "vertical"
	Button:
		id: btn
	Button:
		text: "Merhaba Yaz"
		on_press: root.bas(btn,"Merhaba") #btn adli degisken bizim btn idli Button sınıfımız,o yuzden bas fonksiyonuna boyle bir parametre verdim
"""




class main2(BoxLayout):
	def bas(self, nesne, dgr):
		nesne.text = dgr     #buradaki nesne,yukarıdaki btn idli Button sınıfı icin,yani nesne burada btn idli Button sınıfı oluyor.iste bu sınıfın text niteligini burada degistirebiliyorum.

class main(App):
	def build(self):
		Builder.load_string(kv) #ayriyeten kv stringi yuklenmemis,onu bi yuklemelisiniz once.
		return main2()
if __name__ == "__main__":
	main().run()

Eger kv adlı yeni bir dosya olusturup bu dosyayı yuklemek isterseniz;

from kivy.lang import Builder
Builder.load_file("yukleyecegin_kv_dosyası") #Not: eger bu kv dosyası script dosyasıyla aynı dizinde degilse dizin belirtilmeli

Ornek:

from kivy.lang import Builder
Builder.load_string(yukleyecegin_kv_stringi)

Ornek:

benim_kv_dosyam.kv

<main2>:
	orientation: "vertical"
	Button:
		id: btn
	Button:
		text: "Merhaba Yaz"
		on_press: root.bas(btn,"Merhaba") #btn adli degisken bizim btn idli Button sınıfımız,o yuzden bas fonksiyonuna boyle bir parametre verdim

main.py


from kivy.app import App
from kivy.uix.boxlayout import BoxLayout 
from kivy.lang import Builder


class main2(BoxLayout):
	def bas(self, nesne, dgr):
		nesne.text = dgr     #buradaki nesne,yukarıdaki btn idli Button sınıfı icin,yani nesne burada btn idli Button sınıfı oluyor.iste bu sınıfın text niteligini burada degistirebiliyorum.

class main(App):
	def build(self):
		Builder.load_file("benim_kv_dosyam.kv") #ayriyeten kv dosyası yuklenmemis,onu bi yuklemelisiniz once.
		return main2()
if __name__ == "__main__":
	main().run()

benim_kv_dosyam.kv adli dosya ile main.py adlı dosyanın aynı dizinde oldugunu varsayıyorum.

Kolay gelsin :blush:.

1 Beğeni