Мне нужно, что бы названия столбцов отображались не цифрами(1, 2, 3), а названиями, которые видны в базе данных SQliteStudio.Элемент 'Table Widget'

Так выглядит таблица в SQLiteStudio:

так выглядит таблица в SQLiteStudio

Так выглядит таблица в моем приложении:

таблица в моем приложении

Фрагмент кода:

def run(self):
    cur = self.con.cursor()
    if self.lineEdit.text():
        result = cur.execute(f"""{self.lineEdit.text()}""").fetchall()
    else:
        result = cur.execute(
            f"""SELECT * FROM Core"""
        ).fetchall()
    self.tableWidget.setRowCount(len(result))
    self.tableWidget.setColumnCount(len(result[0]))
    for i, elem in enumerate(result):
        for j, val in enumerate(elem):
            self.tableWidget.setItem(i, j, QTableWidgetItem(str(val)))

Ответы (1 шт):

Автор решения: S. Nick

void QTableWidget::setHorizontalHeaderLabels(const QStringList &labels)

Устанавливает метки горизонтального заголовка с помощью labels.

import sys
from PyQt5.Qt import *


class MyApp(QWidget):
    def __init__(self):
        super().__init__()

        self.tableWidget = QTableWidget()
        self.tableWidget.setAlternatingRowColors(True)
        self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)

        self.button = QPushButton("Run")
        self.button.clicked.connect(self.run)
        
        self.layout = QVBoxLayout(self)        
        self.layout.addWidget(self.tableWidget)
        self.layout.addWidget(self.button)
        
    def run(self):
        result = [
            (1, 'АСВ-5308 1-46 см', '20.09.2021'),
            (2, 'АСВ-53 1-46 см', '22.09.2022'),
            (3, 'АСВ-535 1-46 см', '17.09.2021')
        ]
            
        self.tableWidget.setRowCount(len(result))
        self.tableWidget.setColumnCount(len(result[0]))
        for i, elem in enumerate(result):
            for j, val in enumerate(elem):
                self.tableWidget.setItem(i, j, QTableWidgetItem(str(val)))
                
        self.tableWidget.setHorizontalHeaderLabels(                        # +++
            ['id', 'number', 'date'])                                      # +++


if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = MyApp()
    w.resize(400, 300)
    w.show()
    sys.exit(app.exec_())

введите сюда описание изображения

→ Ссылка