Как заполнить 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!