Kivy'de birden fazla return nasıl olur

iki tane return yapmam gereken bir durum var. Bunu nasıl yapabilirim?

def build(self):
    self.app=Builder.load_string(kv)
    return self.app


def build(self):        
    return MyGrid()

Bu şekilde yapabilirsiniz.

def ornek():
    test1=10
    test2=20
    return test1,test2

#Anlamı -> a=test1 , b=test2
a,b = ornek()

dediğin gibi yaptım ama olmadı. python’da oluyor ama kivy’de olmuyor. sadece birini alıyor.

def build(self):
self.app=Builder.load_string(kv)
return self.app , MyGrid()

bu şekilde yaptım ama olmadı

MyGrid() bir fonksiyon çağırıyor return içerisinde bunu yapamazsınız.

program sorunsuz çalışıyor ama.

class aslında fonksiyon değil

build bölümünde döndürmek istediğiniz 2. değeri göremedim

aslında yapmak istediğim bu.

MyGrid() sınıfını kv lang içinde direk kullanabilirsin

kv = '''
<MyGrid>:
    ....
'''
class Test(App):
    def build(self):
        return Builder.load_file(kv)

sınıfın tamamını mı?

Sınıfın tamamı derken anlayamdım
Şu şekilde anlatayım

class MyGrid(GridLayout):

Python dili ile yazılmış Bu sınıfın içindeki kodları kv lang dili ile kv değişkenine yazabilirsin

örnek:

#önceden oluşturduğun sınıfın içeriğini bu şekilde yazabilirsin

kv = """
<MyGrid>:
    padding:10
    spacing:10
    ...
Screen:
#burda önceden oluşturduğun sınıfı çağırıyon 
    MyGrid:

"""
class Test(App):
    def build(self):
        return Builder.load_file(kv)

'''
veya

'''
kv = """
#Direk olarak kivy nin GridLayout mödülündeki sınıfı Çağırarak kullanabilirsin
GridLayout:
    padding:10
    spacing:20
    cols:1
    ...
    
"""
'''

yapmak istediğini tam anlayadım neden iki return yapıyorsun 
bunu anlatabilirmisin
1 Beğeni

kodlarım bu. olmasını istedğim de resimdeki gibi. ama yapamıyorum. kaydırma çubuğu ekleyemiyorum.

from kivy.app import App
from kivy.uix.label import Label
from kivy.lang import Builder
from kivy.uix.widget import Widget
from kivy.uix.gridlayout import GridLayout
from kivy.uix.textinput import TextInput
from kivy.config import Config
from kivy.uix.image import Image
from kivy.uix.button import Button
from kivy.core.window import Window

Window.size = (335, 600)
Window.clearcolor=(82/255, 155/255,139/255,1)

class MyGrid(GridLayout):        
    def __init__(self, **kwargs):
        super(MyGrid, self).__init__(**kwargs)
        self.cols=1
        self.inside=GridLayout(padding=5, spacing=1, size_hint_y=0.05)
        self.inside.cols=5
        self.inside.add_widget(Image(source="logo.png", size_hint=(None,None),width=225, height=25))
        self.inside.add_widget(Image(source="bilgi.png", size_hint=(None,None),width=25, height=25))
        self.inside.add_widget(Image(source="ayar.png", size_hint=(None,None),width=25, height=25))
        self.inside.add_widget(Image(source="kopya.png", size_hint=(None,None),width=25, height=25))
        self.inside.add_widget(Image(source="ses.png", size_hint=(None,None),width=25, height=25))
        self.add_widget(self.inside)

        self.insi=GridLayout(padding=5, spacing=1, size_hint_y=0.85)
        self.insi.cols=1


        self.add_widget(self.insi)

        self.insid=GridLayout(padding=10, spacing=1, size_hint_y=0.08)
        self.insid.cols=2
        
        self.konus=TextInput(font_size = 15, size_hint=(None,None),width=250, height=30, foreground_color=[82/255, 139/255,139/255,1])
        self.insid.add_widget(self.konus)
        
        self.submit=Button(text ="Gönder", background_color = [99/255, 139/255,139/255,1], size_hint=(None,None),width=70, height=30)
        self.submit.bind(on_press=self.pressed)
        self.insid.add_widget(self.submit)

        self.add_widget(self.insid)
            
    def pressed(self, instance):
        k2="Geri bildirim"

        ad1="Misafir"
        a2="Bilgisayar: "

        soru=self.konus.text
        self.konus.text= ""

        self.k= Label(halign='left', font_size='13', text='[color=f40800]Kullanıcı:[/color]'+'[color=f4a19f]'+soru+'[/color]', markup = True)
        self.insi.add_widget(self.k)

        self.k= Label(halign='left', font_size='13', text='[color=e2b5d0]Bilgisayar:[/color]'+k2, markup = True)
        self.insi.add_widget(self.k)

class MyApp(App):
    def build(self):
        return MyGrid()

if __name__=="__main__":
    MyApp().run()![001|266x500]

from kivymd.app import MDApp
from kivy.lang import Builder
from kivy.uix.button import Button
from kivymd.uix.boxlayout import MDBoxLayout


kv = '''
<MainBoxLayout>:
	orientation:"vertical"
	id:boxlayout
	MDToolbar:
		title:"Sohbet Ekrani"
		left_action_items:[["message",lambda x:None]]
		right_action_items:[["dots-vertical",lambda y:None]]
	
	ScrollView:
		BoxLayout:
			orientation:"vertical"
			id:layout
			size_hint_y:None
			spacing:50
			
			
	FloatLayout:
		size_hint_y:.08
		MDTextFieldRound:
			id:konus
			multiline:True
			size_hint:None,1
			width:boxlayout.width
			pos_hint:{"center_x":.5}
			hint_text:"Mesaj Yaziniz."
		MDIconButton:
			icon:"send"
			pos_hint:{"right":1}
			on_release:root.pressed()
		
'''

Builder.load_string(kv)
def sohbet(a1):
	for a in range(0,len(ek1)):
		aa1=(ek1[a][0]).lower()
		if a1==aa1:
			a1=ek1[a][2]
			return a1
			break
				
ek1=[
            ['döngü nedir',"","Bir önermeyi ikinci bir önermeyle, onu da dönüp birincisiyle tanıtlamaya kalkışma yolu."],
            ['hoşçakal',"","Tekrar görüşmek üzere"],
            ['merhaba nasılsın',"merhaba, nasılsın",'Gayet iyiyi. Teşekkürler sorduğun için'],
            ['Chatbot nedir',"",'İnsanlarla iletişim kurmak için tasarlanmış sohbet robotlarıdır. Benim gibi.'],
            ['günaydın','Günaydın...','Sana da Günaydın'],
            ['merhaba','','Merhaba, nasılsın?'],
            ['nasılsın','','şükür...'],
            ['naber',"",'Gayet iyiyim. Teşekkürler sorduğun için','İyidir.. :)'],
            ['Napıyosun',"",'İnsanlarla konuşuyorum.'],
            ['iyi akşamlar',"",'Sana da iyi akşamlar'],
            ['Tübaydın','','Tünaydın...'],
            ['iyi geceler',"",'iyi geceler...'],
            ['selam',"",'selam.'],
            ['devlet nedir',"",'İdeal olarak halkın bir temsilcisidir.'],
            ]


class MainBoxLayout(MDBoxLayout):
	def __init__(self,**kw):
		super(MainBoxLayout,self).__init__(**kw)
		
		self.ids.layout.bind(minimum_height=self.ids.layout.setter('height'))
		
	def pressed(self):
		self.k2=""
		a=True
		c,c1=0,0
		ad1="Misafir"
		a2="SanalSohbet: "
     
		while a:
			ad=ad1+": "
			a1=self.ids.konus.text
			Soru_ilk_hali=self.ids.konus.text
			a1=a1.lower()
			c1+=1
			if sohbet(a1)!=None:
				self.k2=sohbet(a1)
				a=False
			else:
				self.k2="Anlamadım. farklı bir şekilde ifade eder misin?"
				a=False
		
	        #alt kısım ekrana gönderilen bölüm 
	
		a=False
		self.ids.konus.text= ""
	
		self.k= Button(
		background_color = [0,1,0,1],
		size_hint= (1,None),
		halign = "right",
		valign = "middle",
		text_size = self.size,
		text= Soru_ilk_hali)   # burası
		
		
		self.ids.layout.add_widget(self.k)                                                     # burası
		self.z = Button(
		text=self.k2,
		background_color = [1,0,0,1],
		size_hint = (1,None),
		halign = "left",
		valign = "middle",
		text_size = self.size
		)
		
		
		
		self.ids.layout.add_widget(self.z)
	
	
class MainApp(MDApp):
	def build(self):
		return MainBoxLayout()
		
		

MainApp().run()

Arayüz pek güzel deil ama kaydırma çubuğu var

bunu çalıştırmak için kivymd yüklemen gerekir

pip install kivymd
1 Beğeni

Sen var ya Süpersin… Çok çok çok teşekkür ederim.

1 Beğeni