QML 使用自定义 QSqlTableModel 在 TableView 中显示多个数据库数据

要在一个 TableView 中显示多个数据库数据,您可以使用多个自定义的 QSqlTableModel,并将它们连接到同一个 TableView 上。

以下是一个示例代码,展示了如何使用两个自定义的 QSqlTableModel 在一个 TableView 中显示两个数据库数据:

#include <QApplication>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlTableModel>
#include <QTableView>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    // 连接第一个数据库
    QSqlDatabase db1 = QSqlDatabase::addDatabase("QSQLITE", "connection1");
    db1.setDatabaseName("path/to/first/database.db");
    if (!db1.open()) {
        qDebug() << "Cannot open database connection1.";
        return 1;
    }

    // 创建第一个自定义的 QSqlTableModel
    QSqlTableModel model1(nullptr, db1);
    model1.setTable("table1");
    model1.select();

    // 连接第二个数据库
    QSqlDatabase db2 = QSqlDatabase::addDatabase("QSQLITE", "connection2");
    db2.setDatabaseName("path/to/second/database.db");
    if (!db2.open()) {
        qDebug() << "Cannot open database connection2.";
        return 1;
    }

    // 创建第二个自定义的 QSqlTableModel
    QSqlTableModel model2(nullptr, db2);
    model2.setTable("table2");
    model2.select();

    // 创建一个 TableView 并设置两个模型
    QTableView tableView;
    tableView.setModel(&model1);
    tableView.setAlternatingRowColors(true);
    tableView.show();

    // 添加第二个模型到 TableView
    tableView.setModel(&model2);

    return app.exec();
}

在上面的示例中,我们首先连接了两个不同的数据库,并为每个数据库创建一个自定义的 QSqlTableModel。然后,我们将第一个模型设置为 TableView 的模型,并显示 TableView。最后,我们将第二个模型设置为 TableView 的模型,这样就可以在同一个 TableView 中显示两个数据库的数据了。

请注意,在这个示例中,我们使用了 SQLite 数据库,您需要将数据库的路径替换为您实际的数据库路径,并确保数据库驱动程序正确地加载。

QML 使用自定义 QSqlTableModel 在 TableView 中显示多个数据库数据

原文地址: https://www.cveoy.top/t/topic/prpY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录