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.
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
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)
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")