PyQt5 ve QTableWidget

Arkadaşlar hayırlı forumlar şimdi ben şu şekilde kod yazdım:

    def buton3f(self):

        try:

            self.tablo.setRowCount(5)
            self.tablo.setColumnCount(11)

            baglanti = _sqlite3.connect("Deneme girdisi.db")
            sorgu = "Select * from DENEMELER"
            sonuc = baglanti.execute(sorgu)
            self.tablo.setRowCount(0)

            for row_number, row_data in enumerate(sonuc):

                self.tablo.insertRow(row_number)

                for column_number, data in enumerate(row_data):

                    self.tablo.setItem(row_number, column_number, QTableWidgetItem(str(data)))

            baglanti.close()


        except:

            self.durum.setText("Bir hata meydana geldi...")

Bunu çalıştırdığımda belirtilen bölümde bilgilerin gözükmesini istiyordum ve hallettim ancak bir sorun ile.

Bu tablonun orijinali:

Bu da program arayüzündeki hâli:

Sorum da şu ki ben nasıl bir kod düzenlemesi yaparak program arayüzünde de “Tarih”, “Adı”, “Turu”, “TYTTurkce” vb. gibi bilgileri gösterebilirim?

Merhaba,

Dokümanda yazdığına göre yatay başlık etiketlerini değiştirmek için setHorizontalHeaderLabels fonksiyonunu kullanmanız gerekiyor.

Parameters

   labels – list of strings

Sets the horizontal header labels using labels .

Kaynak: https://doc.qt.io/qtforpython/PySide2/QtWidgets/QTableWidget.html#PySide2.QtWidgets.PySide2.QtWidgets.QTableWidget.setHorizontalHeaderLabels

self.tablo.setHorizontalHeaderItem(0, QTableWidgetItem("ASDASD"))

Bu şekilde hallettim teşekkür ederim.

Bu konuya gelen arkadaşlar için:
.

Neden bu kadar kod tekrarı yapma ihtiyacı duydunuz ki?

@dildeolupbiten’in verdiği linkteki metodu kullanarak tek satırda istediğiniz yapıyı elde edebilirdiniz. Indexing ile uğraşmanıza gerek yok. Sütun isimlerini barındıran bir listeyi setHorizontalHeaderLabels'a argüman olarak verin:

self.tablo.setHorizontalHeaderLabels([
	"Tarih",
	"Deneme Adı",
	"Deneme Türü",
	"TYT Türkçe",
	"TYT Sosyal",
	"TYT Matematik",
	"TYT Fen",
	"AYT Matematik",
	"AYT Fizik",
	"AYT Kimya",
	"AYT Biyoloji",
	"Deneme Türü",
	])
1 Beğeni

List yazısını görmemişim :confused:

Teşekkürler :slight_smile: