pyside6 tableview
时间: 2023-08-06 13:07:53 浏览: 258
TableView开发
PySide6中的QTableView是一个用于显示数据的可编辑表格控件。要在PySide6中使用QTableView,您需要创建一个模型,然后将其设置为QTableView的模型。
以下是一个简单的示例,展示如何在PySide6中创建一个QTableView并将其连接到一个模型:
``` python
from PySide6.QtCore import Qt, QAbstractTableModel, QModelIndex
from PySide6.QtGui import QStandardItemModel
from PySide6.QtWidgets import QApplication, QTableView, QVBoxLayout, QWidget
class MyTableModel(QAbstractTableModel):
def __init__(self, data):
QAbstractTableModel.__init__(self)
self._data = data
def rowCount(self, parent=QModelIndex()):
return len(self._data)
def columnCount(self, parent=QModelIndex()):
return len(self._data[0])
def data(self, index, role=Qt.DisplayRole):
if role == Qt.DisplayRole:
return str(self._data[index.row()][index.column()])
return None
if __name__ == '__main__':
app = QApplication([])
widget = QWidget()
layout = QVBoxLayout(widget)
table_view = QTableView()
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
model = MyTableModel(data)
table_view.setModel(model)
layout.addWidget(table_view)
widget.show()
app.exec_()
```
在这个示例中,我们创建了一个名为MyTableModel的自定义模型,它继承了QAbstractTableModel。该模型接受一个数据列表作为参数,并使用它来为表格提供数据。
然后我们创建了一个QTableView,并将其模型设置为我们的自定义模型。最后,我们将QTableView添加到QWidget上,并显示该QWidget。
当您运行此示例时,您将看到一个带有数据的表格。您可以在表格中编辑单元格,并且您的更改将在模型中保存。
阅读全文