Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Kivy de başka sınıftaki propertyi app sınıfında kullanma
#1
Kivy de aşşagıdaki gibi bir şey yapmaya çalışdım ama çalışmadı. Yapmak istedigim şey main2 sınıfındaki numeric property veriyi app sınında basmak istiyorum, kısaca 2 tane sayac var biri azalıyor biri artıyor bu degerler hangi tuşa basılırsa (artma veya eksiltme) o andaki sayıyı veri tabanına kaydediyor sonra her geldiginde tekrar temizleyip takrar kaydediyor program bir sayıda son buldugunda tekrar açıldıgında o sayıdan başlaması için build fonksşyonuna yazdım ama çalışmadı.
KODLAR;

PHP Kod:
from kivy.app import App
from kivy
.lang import Builder
from kivy
.uix.floatlayout import FloatLayout
from kivy
.uix.screenmanager import ScreenManagerScreen
from kivy
.properties import NumericProperty
import sqlite3
con 
sqlite3.connect("sayilar.db")
cursor con.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS sayilar (sayi INT, sayi2 INT)")
con.commit()
Builder.load_string("""
<main2>:
    BoxLayout:
        orientation: "
vertical"
        Label:
            id: lbl
            font_size: sp(25)
        Label:
            id: lbl2
            font_size: sp(25)
        BoxLayout:
            Button:
                text: "
ARTTİR"
                on_press: root.arttir()

            Button:
                text: "
AZALT"
                on_press: root.azalt()

"""
)

class 
main2(Screen):
    
sayi NumericProperty(0)
    
sayi2 NumericProperty(100)

    
def arttir(self):
        
cursor.execute("DELETE FROM sayilar")
        
self.sayi += 1
        self
.sayi2 -= 1
        cursor
.execute("INSERT INTO sayilar VALUES(?,?)",(self.sayiself.sayi2))
        
con.commit()
        
self.ids.lbl.text str(self.sayi)
        
self.ids.lbl2.text str(self.sayi2)
        
cursor.execute("Select * From sayilar")
        
liste cursor.fetchall()
        for 
i in liste:
            print(
i)

    
def azalt(self):
        
cursor.execute("DELETE FROM sayilar")
        
self.sayi -= 1
        self
.sayi2 += 1
        cursor
.execute("INSERT INTO sayilar VALUES(?,?)",(self.sayiself.sayi2))
        
con.commit()
        
self.ids.lbl.text str(self.sayi)
        
self.ids.lbl2.text str(self.sayi2)
        
cursor.execute("Select * From sayilar")
        
liste cursor.fetchall()
        for 
i in liste:
            print(
i)

sm ScreenManager()
sm.add_widget(main2(name "main2"))

class 
main(App):
    
def build(self):
        
sm.screens[0].ids.lbl.text self.sayi
        sm
.screens[0].ids.lbl2.text self.sayi2
        
return sm 

main
().run() 
Ara
Cevapla
#2
global deyimini kullanabilrsin

"global sayi"
sayi = adasdasd
Turbobit Premium Link Çeviri | Turbobit Link Generator | http://turbobit.qpython.club
Cevapla
#3
Bunun global dışın da başka çözümü yokmu? Big Grin
Ara
Cevapla
#4
var tabi, mantık şu şekilde.

PHP Kod:
Python 2.7.12 (v2.7.12:d33e0cf91556Jun 27 201615:19:22) [MSC v.1500 32 bit (
Intel)] on win32
Type 
"help""copyright""credits" or "license" for more information.
>>> class 
deneme():
...     
test "asd"
...
>>> print 
deneme.test
asd
>>> 
Turbobit Premium Link Çeviri | Turbobit Link Generator | http://turbobit.qpython.club
Cevapla
#5
Cevap için teşşekür ederim.  Shy
Ara
Cevapla
#6
haa tabi fonksiyon içi self olarak tanımladıklarımız var bunlara ulaşmada eğer sıkıntı yaşarsan şunu da deneyebilirsin.

PHP Kod:
>>> class deneme:
...     
def __init__(self):
...             
self.test "selam"
...
>>> 
deneme().test
'selam'
>>> qwe deneme()
>>> 
qwe.test
'selam'
>>> 
Turbobit Premium Link Çeviri | Turbobit Link Generator | http://turbobit.qpython.club
Cevapla

{lang: 'en'}


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Kivy Dili Soru & Cevap Ethnic 215 131,702 28-04-2020, Saat: 12:11
Son Yorum: SD-16
  Kivy de basit animsyonlar nasıl oluşturulur SD-16 3 2,660 31-03-2020, Saat: 11:27
Son Yorum: HackLord
  Kivy programını .exe yapmak SD-16 3 2,870 15-04-2019, Saat: 01:20
Son Yorum: gecemor
  Kivy button SD-16 4 3,304 26-01-2019, Saat: 22:33
Son Yorum: SD-16
  Kivy yazıcı modülü SD-16 1 2,002 27-11-2018, Saat: 22:19
Son Yorum: Ethnic

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi
Change Theme