qt上的table view显示数据库的表
时间: 2024-02-18 21:03:40 浏览: 23
要在Qt上显示数据库表,可以使用Qt提供的QSqlTableModel类。以下是一个简单的示例:
```cpp
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlTableModel>
#include <QTableView>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 连接数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("mydatabase.db");
if (!db.open()) {
qCritical() << "Failed to connect to database!";
return 1;
}
// 创建QSqlTableModel并设置表名
QSqlTableModel model;
model.setTable("mytable");
// 设置编辑策略
model.setEditStrategy(QSqlTableModel::OnManualSubmit);
// 查询数据
model.select();
// 创建QTableView并设置模型
QTableView tableView;
tableView.setModel(&model);
// 显示窗口
tableView.show();
return app.exec();
}
```
在这个示例中,我们使用了SQLite数据库,并创建了一个名为“mytable”的表。我们创建了一个QSqlTableModel并设置了表名,然后使用select()方法从数据库中查询数据。然后,我们创建了一个QTableView并将模型设置为我们刚刚创建的QSqlTableModel。最后,我们显示了QTableView窗口。
当我们运行这个应用程序时,我们应该可以在QTableView中看到来自数据库表的数据。