Qt组件设置QSqlQueryModel没显示数据?

数据库创建代码

 #pragma once
#ifndef CONNECTION_H
#define CONNECTION_H

#include<QtSql>
#include<qdebug.h>
#include<QSqlDatabase>

static bool createConnection()
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");

    db.setHostName("Andy");
    db.setDatabaseName("testData.db");
    db.setUserName("Andy");
    db.setPassword("123456");
    if (!db.open())
    {
        qDebug() << "创建数据库时失败!";
        return false;
    }
    QSqlQuery query(db);
    /*query = QSqlQuery::QSqlQuery(db);*/

    // 创建类型表
    query.exec("create table type(id varchar primary key, name varchar)");
    query.exec(QString("insert into type values(0,请选择类型)"));
    query.exec(QString("insert into type values(01,电视)"));
    query.exec(QString("insert into type values(02,空调)"));

    return true;
}

#endif // !CONNECTION_H

组件关联数据库代码

 Widget::Widget(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);

    ui.stackedWidget->setCurrentIndex(0);
    QSqlQueryModel *typeModel = new QSqlQueryModel(this);
    typeModel->setQuery("select name from type");
    ui.sellTypeComboBox->setModel(typeModel);

}

主函数

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

    QApplication a(argc, argv);
    if (!createConnection())
        return 0;
    Widget w;
    w.show();
    return a.exec();
} 

图片说明

这个comboBox却没有出现数据库表中的数据项

有提示错误信息么

你没有调用静态函数来打开数据库啊,积分急用,望兄弟采纳,main文件里面调用一下静态函数!