使用qt create 定义模型并初始化数据,将模型传给tablewidget不用tableview举个完整的例子
时间: 2023-12-10 10:41:19 浏览: 84
Qt中tableWidget和tableView的使用
4星 · 用户满意度95%
好的,这里是一个简单的例子:
假设我们有一个模型类 `MyModel`,它继承自 `QAbstractTableModel`,并且我们已经定义好了它的数据和方法。现在我们需要在 Qt 中创建一个表格,并将数据展示在表格中。
首先,我们需要在 Qt Creator 中创建一个新的窗口应用程序,然后将我们的 `MyModel` 类添加到项目中。接下来,我们需要在主窗口中添加一个 `QTableWidget` 对象。
在主窗口头文件中,我们需要包含 `MyModel` 的头文件,并声明一个指向该模型的指针:
```cpp
#include "mymodel.h"
...
private:
Ui::MainWindow *ui;
MyModel *model;
```
在主窗口的构造函数中,我们需要初始化模型并将其分配给表格视图:
```cpp
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
// 初始化模型
model = new MyModel(this);
// 将模型分配给表格视图
ui->tableWidget->setModel(model);
}
```
现在,我们的表格已经准备就绪,并且可以显示模型中的数据了。
最后,我们需要在 `main.cpp` 中启动我们的应用程序:
```cpp
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
```
这就是一个简单的例子,其中我们使用了 `QTableWidget`,而不是 `QTableView`,来显示我们的模型数据。
阅读全文