qt写一个多行的tableview
时间: 2023-07-13 22:33:39 浏览: 120
tableview多行选择
5星 · 资源好评率100%
要实现一个多行的TableView,你可以使用QTableView类,同时设置QAbstractItemModel子类作为数据模型,具体步骤如下:
1. 创建一个QTableView对象。
```cpp
QTableView *tableView = new QTableView(this);
```
2. 创建一个QAbstractItemModel的子类,实现数据的存储和访问。
```cpp
class MyModel : public QAbstractTableModel
{
public:
MyModel(QObject *parent = nullptr);
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
int columnCount(const QModelIndex &parent = QModelIndex()) const override;
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override;
private:
QVector<QVector<QString>> m_data;
};
```
3. 将数据模型设置给TableView。
```cpp
MyModel *model = new MyModel(this);
tableView->setModel(model);
```
4. 设置TableView的行高。
```cpp
tableView->verticalHeader()->setDefaultSectionSize(40);
```
这样就可以创建一个多行的TableView了。你可以在MyModel类中实现数据的存储和访问,同时可以设置TableView的列宽、行高等属性来满足你的需求。
阅读全文