| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import sys
- import numpy as np
- from PyQt5.QtCore import QAbstractTableModel, Qt
- from PyQt5.QtWidgets import QMainWindow, QTableView, QApplication
- class TableModel(QAbstractTableModel):
- def __init__(self, data):
- super(TableModel, self).__init__()
- self._data = data
- def data(self, index, role):
- if role == Qt.DisplayRole:
- value = self._data[index.row(), index.column()]
- return str(value)
- def rowCount(self, index):
- return self._data.shape[0]
- def columnCount(self, index):
- return self._data.shape[1]
- class MainWindow(QMainWindow):
- def __init__(self):
- super().__init__()
- self.table = QTableView()
- data = np.array([
- [1, 9, 2],
- [4, 0, -1],
- [7, 8, 9],
- [3, 3, 2],
- [5, 8, 9],
- ])
- self.model = TableModel(data)
- self.table.setModel(self.model)
- self.setCentralWidget(self.table)
- self.setGeometry(600, 100, 400, 200)
- app = QApplication(sys.argv)
- window = MainWindow()
- window.show()
- sys.exit(app.exec_())
|