QT实现把SQLite3数据库中表的数据加载到QTablewidget中

之前做的一个项目,用到QTablewidget,需要把数据库SQLite3中某一个表的数据加载到QTablewidget中。在此记录一下实现过程和代码。

代码:

   //连接数据库之前判断数据库是否已经连接
    QSqlDatabase db;
    if(QSqlDatabase::contains("qt_sql_default_connection"))
      db = QSqlDatabase::database("qt_sql_default_connection");
    else
      db = QSqlDatabase::addDatabase("QSQLITE");

    db.setDatabaseName("test.db");
    db.open();
    if(!db.open())
    {
        qDebug()<<"open the file fail";
    }

    //查找数据库中的表
    QString tableName = "softwareproject";
    QSqlQuery query;
    query.exec(QString("select * from %1").arg(tableName));

    //设置tablewidget的表头项
    ui->tableWidget->setHorizontalHeaderLabels({"项目名称","项目状态","当前模块","总体进度"});
    int row = 0;
    while(query.next())
    {
        ui->tableWidget->setRowCount(row+1);
        for(int column = 0; column < query.record().count(); column++)
        {
            QTableWidgetItem *item = new QTableWidgetItem(query.value(column).toString());
            ui->tableWidget->setItem(row,column,item);
        }
        row++;
    }

猜你喜欢

转载自blog.csdn.net/weixin_55735677/article/details/130291301
今日推荐