Как заполнить qtableview python: шаг за шагом руководство с примерами

Как заполнить QTableView в Python?

Вот пример кода, который демонстрирует, как заполнить QTableView в Python:


from PyQt5 import QtCore, QtGui, QtWidgets

class TableModel(QtCore.QAbstractTableModel):
    def __init__(self, data):
        super().__init__()
        self.data = data

    def rowCount(self, parent):
        return len(self.data)

    def columnCount(self, parent):
        return len(self.data[0])

    def data(self, index, role):
        if role == QtCore.Qt.DisplayRole:
            return str(self.data[index.row()][index.column()])

app = QtWidgets.QApplication([])
window = QtWidgets.QTableView()
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
model = TableModel(data)
window.setModel(model)
window.show()
app.exec_()

В данном примере мы создаем наше собственное подкласс-наследник QAbstractTableModel, который определяет количество строк и столбцов, а также тот, какие данные отображать в ячейках. Затем мы создаем экземпляр модели, используя наш класс TableModel, и устанавливаем эту модель в QTableView. В результате у нас будет заполненное представление таблицы.

Детальный ответ

Как заполнить QTableView в Python?

QTableView - это виджет таблицы в библиотеке Qt, который позволяет отображать и редактировать данные в табличном формате. В этой статье мы рассмотрим, как заполнить QTableView данными с использованием языка Python.

Шаг 1: Создание модели данных

Первым шагом для заполнения QTableView - создание модели данных. Модель данных предоставляет данные для отображения в таблице. В PyQt мы можем использовать класс QStandardItemModel в качестве модели данных.


        from PyQt5.QtGui import QStandardItemModel, QStandardItem
        
        # Создание модели данных
        model = QStandardItemModel()
    

Шаг 2: Заполнение модели данными

После создания модели данных, мы можем заполнить ее данными, которые будут отображаться в таблице. Для этого мы используем метод setData() для каждой ячейки таблицы.


        # Заполнение модели данными
        data = [['Ячейка 1', 'Ячейка 2', 'Ячейка 3'],
                ['Ячейка 4', 'Ячейка 5', 'Ячейка 6'],
                ['Ячейка 7', 'Ячейка 8', 'Ячейка 9']]
        
        for row in range(len(data)):
            for column in range(len(data[row])):
                item = QStandardItem(data[row][column])
                model.setItem(row, column, item)
    

Шаг 3: Создание объекта QTableView и привязка модели данных

После заполнения модели данными, мы создаем объект QTableView и устанавливаем нашу модель данных в него.


        from PyQt5.QtWidgets import QTableView, QApplication, QMainWindow
        
        # Создание объекта QTableView и привязка модели данных
        table_view = QTableView()
        table_view.setModel(model)
    

Шаг 4: Отображение QTableView

Последний шаг - отображение нашего QTableView в графическом интерфейсе. Для этого мы создаем объект QApplication и QMainWindow, конфигурируем главное окно и устанавливаем QTableView в него.


        import sys
        
        app = QApplication(sys.argv)
        main_window = QMainWindow()
        main_window.setCentralWidget(table_view)
        main_window.show()
        sys.exit(app.exec_())
    

Итог

Таким образом, мы рассмотрели, как заполнить QTableView в Python. Мы создали модель данных с помощью класса QStandardItemModel, заполнили ее данными с использованием метода setData() и отобразили таблицу с помощью объекта QTableView. Надеюсь, эта статья помогла вам понять процесс заполнения QTableView в PyQt!

Видео по теме

Разработка на python / PySide6 работа с QTableView

Python Code Review PyQt QTableWidget

Урок 28 - Работа с QTableWidget и с QTimer

Похожие статьи:

Как найти первый символ в строке Python: полезные советы и примеры кода

Как открыть файл Excel в Python: пошаговая инструкция и примеры кода

🔍 Как вывести None в Python: полное руководство для начинающих 🐍

Как заполнить qtableview python: шаг за шагом руководство с примерами

Что такое exit 1 в Python и как это исправить?

Как скрыть python файл: лучшие способы и инструкции

Сколько стоит королевский питон в России? Цена и особенности