Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Labeli güncelleme
#1
PHP Kod:
from kivy.app import App
from kivy
.uix.gridlayout import GridLayout
from kivy
.lang import Builder
Builder
.load_string("""
<main2>:
    cols: 1
    Button:
        id: btn
        text: "
Python"

 """
)


class 
main2(GridLayout):
    
def degistir(self):
        
self.ids.btn.text "Kivy"



class main(App):
    
def build(self):
        return 
main2()

if 
__name__ == '__main__':
    
main2().degistir()
    
main().run() 
Program çalışınca labelde ki metni nasıl güncelleyebilirim?
Ara
Cevapla
#2
ben label falan görmüyorum ama heralde buton text demek istedin. degistir() diye fonksiyon eklemişsin ama o fonksiyonu çağırmamışsın ki..

kv de button'a şunu ekleyebilirsin örnek olarak

on_press: root.degistir()
Turbobit Premium Link Çeviri | Turbobit Link Generator | http://turbobit.qpython.club
Cevapla
#3
Yanlışıkla label demişim. Smile program başlarken zaten o fonksiyonu çağırıyorum ama değişmiyor Yani butona tıklamadan o textin değişmesini istiyorum. Onun için bir çözüm varmı?
Ara
Cevapla
#4
(15-04-2019, Saat: 07:46)SD-16 Nickli Kullanıcıdan Alıntı:  Yanlışıkla label demişim. Smile program başlarken zaten o fonksiyonu çağırıyorum ama değişmiyor Yani butona tıklamadan o textin değişmesini istiyorum. Onun için bir çözüm varmı?

Normalde pek tercih edilen bir kullanım değil, ancak bir uygulamadaki text'leri değiştirmek için uygulamayı baştan paketlemek gerekebiliyor. Belki bu tür durumlarda pratiklik açısından kullanılabilir.

PHP Kod:
from kivy.app import App
from kivy
.uix.gridlayout import GridLayout
from kivy
.lang import Builder
Builder
.load_string("""
<main2>:
    cols: 1
    Button:
        id: btn
        text: "
Python"

 """
)


class 
main2(GridLayout):

    
def __init__(self):
        
super(main2self).__init__()
        
self.degistir()
        
    
def degistir(self):
        
self.ids.btn.text "Kivy"
        


class main(App):
    
def build(self):
        return 
main2()

if 
__name__ == '__main__':
    
main().run() 
Turbobit Premium Link Çeviri | Turbobit Link Generator | http://turbobit.qpython.club
Cevapla
#5
Aklıma hiç miras alma gelmedi. Smile

Bide niye hiç tercih edilmiyor?
Ara
Cevapla
#6
çünkü program çalışmadan önce yapılacak bir değişikliği ekstra bir kod satırı kullanmadan kv içinde değiştirmek daha mantıklı.
Turbobit Premium Link Çeviri | Turbobit Link Generator | http://turbobit.qpython.club
Cevapla
#7
(15-04-2019, Saat: 21:38)gecemor Nickli Kullanıcıdan Alıntı:  çünkü program çalışmadan önce yapılacak bir değişikliği ekstra bir kod satırı kullanmadan kv içinde değiştirmek daha mantıklı.
Ama .kv içinde pencereyi güncellemem için buttona tıklamam gerek. Bunun dışında bildiğim başka çözüm yok.
Ara
Cevapla
#8
herhangi bir etkileşimde bulunmadan program çalışıyorken değişiklik yapman için yine programın kendi içinden, belli koşullara bağlı olarak değişiklik yaptırabilirsin. Yani bir gösterge olur text, belli değişimlere göre programın kendi içinden değişir.

Başka türlü, program çalışmadan önce değişiklik yapacaksan yine kod içinden ya kv editleyeceksin ya da verdiğim örneğe benzer şekilde bir şeyler yapacaksın. Onun haricinde bir gereklilik bence konseptin dışında kalıyor.
Turbobit Premium Link Çeviri | Turbobit Link Generator | http://turbobit.qpython.club
Cevapla
#9
on_start fonksiyonunu kullan.

class mainl(App):
def on_start(self):
"burada islemi yap"
Ara
Cevapla
#10
Yada ekranı güncellemek için pencerenin içinden görülmeyecek bir yere o buttonu yerleştirsem ve kullanıcı o tuşa basmasa da (zaten butonu görmüycek. Smile ) program kendisi o tuşa bassa ve ekran kendisini güncellese olmaz mı? öyle bir özelligi varmı kivy nin?


Button:
state: "down"

Bunu buldum, tuş mavi oluyor, tıklanmış gibi gözüküyor. Ama tıklamış gibi gözüksede o butona baglı fonksiyonu çağırmıyor.
Ara
Cevapla

{lang: 'en'}


Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi
Change Theme