Kivy chatbot problemi

oluşturduğum chatbot’ta sohbetleri şu şekilde listeliyorum fakat farklı renkler ile ayırmak istiyorum. nasıl yapabilirim?
kivy sahne

Kodlarınızı [code]...[\code] içine yapıştırın.

ama tamamı bu değil.

Kivy bilmiyorum ama basit bir algoritma ile yapabilirsin.Önce is_odd() adlı fonksiyon ile tek çift sorgulaması yap. Ardından mesajlarını çevreleyecek yardımcı bir fonksiyon oluştur.Ben message() dedim. Fonksiyona lock parametresi ekledim belki renklendirmeyi kaldırmak istersin diye .Bu yöntem ne kadar performanslı bilmiyorum ama işini görecektir.Tam kodlarını atarsan yardımcı da oluruz.

    #Herbir mesajın tek sayı mı çift sayımı olduğunu kontrol eden fonksiyon
def is_odd(value):
    if value % 2 == 1:
        return True
    else:
        return False

def message(text,message_number=0,lock=True):
    if lock==True :
        if is_odd(message_number):
            #Kullandığın kütüphaneye  göre metnin arka planını tanımla
            print(text + "Arkaplan Kırmızı")  #Print ile yazdırıyorsan buraya ekle yoksa return et altta
            return 
        else:
            #Kullandığın kütüphaneye  göre metnin arka planını tanımla
            print(text + "Arka plan Mavi")
            message_number+=1
            return 
    else:
        pass


#Yukardaki tanımlamaları yaptıktan sonra kullanman gereken örnek kullanım
message_number=0
for i in range(100):
    
    text=input("Mesajı gir  :   ")
    message(text,message_number,lock=True)
    message_number+=1
1 Beğeni

value % 2 == 1'in dönüş değeri zaten bool. if-else’ye gerek yok.

1 Beğeni

Kivy’de markup var hatırladığım kadarıyla. Yani [color=ff3333]Misafir:[/color] Merhaba şeklinde yazarsan sadece Misafir: yazısını renklendirir. Şu iki linki inceleyerek bir şeyler yapabilirsin.

1 Beğeni
Label(text='Merhaba Dünya ',color = 1,0,0,1)

color 0 ile 1 arasında değerler alır

1 Beğeni

Aynen dikkat etmemiştim oraya