QT实现两个view共用一个model
时间: 2024-05-15 17:15:45 浏览: 147
在QT中,可以通过将两个view的model设置为同一个对象来实现两个view共用一个model的功能。具体步骤如下:
1. 创建一个QStandardItemModel对象作为共用的model。
```cpp
QStandardItemModel *model = new QStandardItemModel(this);
```
2. 将model设置为两个view的model。
```cpp
ui->tableView1->setModel(model);
ui->tableView2->setModel(model);
```
3. 在model中添加数据。
```cpp
QStandardItem *item = new QStandardItem(QString("test"));
model->appendRow(item);
```
这样,在两个view中展示的数据就是相同的了。
需要注意的是,如果两个view的展示方式不同(比如一个是表格视图,一个是列表视图),则需要在两个view中分别设置相应的显示方式。同时,如果对model进行修改操作,需要在两个view中手动刷新视图。
阅读全文