QT tableview 显示数据库查询结果

3 篇文章 0 订阅
2 篇文章 0 订阅

不废话直接上源码

    QSqlQueryModel *model = new QSqlQueryModel(ui->tableView);
    model->setQuery("select * from user");
    model->setHeaderData(0,Qt::Horizontal,QObject::tr("name"));
    model->setHeaderData(1,Qt::Horizontal,QObject::tr("pwd"));
    ui->tableView->setModel(model);

 

这是网上的大多数例子 但是  是不是 显示不出来?  下面是关键一步:

在内部头文件中 可以看到 还可以添加 db这个参数(db为数据库驱动 (可以这么理解)),这个不懂得可以搜以下,所以一定要将  

model->setQuery("select * from user");

修改为

model->setQuery("select * from user",db);

### 回答1: 以下是一个简单的示例代码,用于使用QtQTableView显示数据库表中的数据: ```python # 导入必要的模块 from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtSql import QSqlDatabase, QSqlTableModel # 创建Qt应用程序对象 app = QtWidgets.QApplication([]) # 连接到数据库 db = QSqlDatabase.addDatabase("QSQLITE") db.setDatabaseName("mydatabase.db") if not db.open(): print("无法连接到数据库") # 创建一个数据模型,指定表名和数据库连接 model = QSqlTableModel() model.setTable("mytable") model.setEditStrategy(QSqlTableModel.OnFieldChange) model.select() # 创建一个表格视图,并将数据模型设置为其模型 view = QtWidgets.QTableView() view.setModel(model) # 显示表格视图 view.show() # 运行应用程序 app.exec_() ``` 这个例子假设你已经有一个SQLite数据库文件名为 `mydatabase.db`,其中包含一个名为 `mytable` 的表。如果您需要连接到不同的数据库,请相应地更改连接信息。 ### 回答2: QtTableView是一个用于显示表格数据的控件,要显示数据库的数据可以使用Qt提供的SQL模块。下面是一个简单的示例代码: ```cpp #include <QtWidgets> #include <QtSql> int main(int argc, char *argv[]) { QApplication app(argc, argv); // 创建数据库连接 QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("mydb.sqlite"); // 数据库文件名,这里使用SQLite数据库 if (!db.open()) { qDebug() << "无法打开数据库"; return 1; } // 查询数据库 QSqlQuery query; if (!query.exec("SELECT * FROM mytable")) { qDebug() << "查询失败"; return 1; } // 创建TableView和Model QTableView tableView; QSqlTableModel model; model.setQuery(query); tableView.setModel(&model); tableView.show(); return app.exec(); } ``` 以上代码首先创建了一个数据库连接,并打开了一个SQLite数据库文件。接着执行一个查询语句,并将结果设置给一个QSqlTableModel对象。最后将这个Model设置给TableView,并显示出来。这样TableView就会显示出数据库中的数据。 请注意,这只是一个简单的示例代码。在实际使用时,可能需要根据具体情况进行相应的修改和调整。 ### 回答3: Qt提供了一个用于展示数据库内容的Table View控件,可以通过以下代码将数据库内容显示在Table View中: ```cpp #include <QtSql> #include <QTableView> int main(int argc, char *argv[]) { QApplication a(argc, argv); // 1. 创建数据库连接 QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("database_name.db"); // 设置数据库名称 if (!db.open()) { qDebug() << "Failed to connect to database."; return 1; } // 2. 获取数据库内容 QSqlQuery query; query.exec("SELECT * FROM table_name"); // 替换table_name为你的表名 // 3. 创建数据模型 QSqlTableModel model; model.setQuery(query); // 4. 创建Table View QTableView tableView; tableView.setModel(&model); tableView.show(); return a.exec(); } ``` 以上代码使用Qt的SQL模块连接和操作数据库,通过执行一个SELECT语句获取数据库中的内容,并利用QSqlTableModel将查询结果作为数据模型。最后,将该模型设置为Table View的模型,并显示Table View控件。 请注意将上述代码中的`database_name.db`替换为你的数据库名称,以及`table_name`替换为你想要显示的表名。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值