PyQT5 Tabloya tıklamadan veri nasıl çekilir?

İyi günler.

Bir tablo var. Ben bu tablodan herhangi bir iteme tıklamadan item çekmek istiyorum. Bunu nasıl yapabilirim? For döngüsüne alacağım bu arada. Sorunum for döngüsüne alamama.

self.arayuz.satisVeKasa_alisverisListesiListBox.item(0, 1).text()

Döngüyü ne için kurmak istiyorsunuz? Bir row’a veya column’a ait tüm item’leri mi çekmek istiyorsunuz?

1 Beğeni

Evet hocam. Biraz yol kat ettim bu arada. Tüm itemleri bu kod çekiyor:

        for row in enumerate(range(self.arayuz.satisVeKasa_alisverisListesiListBox.rowCount())):
            for col in enumerate(range(self.arayuz.satisVeKasa_alisverisListesiListBox.columnCount())):
                print(self.arayuz.satisVeKasa_alisverisListesiListBox.item(row[0], col[0]).text())

Şimdi ise tüm itemler arasında, row row ayırmak ve eklemek istiyorum. Çünkü tablodaki tüm itemleri çekiyor. Yani tek row’da 6 sütun veri varsa ve toplam 18 item verisi çekildiyse, onları 6’ya ayırıp Sqlite3’e 3 satır olarak eklemek istiyorum. Anlamışsınızdır umarım :smiley:

Tebrik ederim :slight_smile:

Veritabanına nasıl ekleniyor hiçbir fikrim yok ama ayırma olayını liste ile yapabilirsiniz.

liste = []
for row in enumerate(range(self.arayuz.satisVeKasa_alisverisListesiListBox.rowCount())):
    alt_liste = []
    for col in enumerate(range(self.arayuz.satisVeKasa_alisverisListesiListBox.columnCount())):
        alt_liste.append(self.arayuz.satisVeKasa_alisverisListesiListBox.item(row[0], col[0]).text())
    liste.append(alt_liste)
1 Beğeni

Hocam çok kral adamsınız. Keşke ben de sizin gibi bilgili olabilsem ve algoritma kurabilsem. DB’ye kaydetmeyi de ufak bir araştırma sonucu buldum.

Belki başkasının işine yarar, bırakayım:

liste = []

        for row in enumerate(range(self.arayuz.satisVeKasa_alisverisListesiListBox.rowCount())):

            alt_liste = []

            for col in enumerate(range(self.arayuz.satisVeKasa_alisverisListesiListBox.columnCount())):

                alt_liste.append(self.arayuz.satisVeKasa_alisverisListesiListBox.item(row[0], col[0]).text())

            liste.append(alt_liste)

           

        print(liste)

        an = datetime.datetime.now()

        tarih = datetime.datetime.strftime(an, '%d %B %Y')

        for item in liste:    

            dbcur.execute("INSERT INTO gecmisAlisverisler VALUES(?, ?, ?, ?, ?, ?, ?)", (item[0], item[1], item[2], item[3], item[4], item[5], tarih))

        database.commit()

        dbcur.close()

        database.close()        

        print("Kaydedildi")

Teşekkürler tekrardan :slight_smile:

1 Beğeni