QT使用SQLite


在QT的widget中用tableview顯示sqlite數據庫表中的內容。

用QTcreator創建一個基於Widget類的窗口,再拖一個tableview到widget中,保存.

 1.在widget.h中增添頭文件:QtSql/qsql.h、QtSql/QsqlDatabase、QtSql/QsqlQuery、QtSql/QsqlQueryModel

    2.在.pro工程文件中添加:QT+=sql

    3.在widget.cpp中widget的構造函數中添加如下代碼:

    QsqDatabase db = QsqlDatabase::addDatabase("QSQLITE");

    db.setDatabaseName("test.db");

    if(!db.open())

    {

        //錯誤處理

    }

    static QSqlQueryModel *model = new QSqlQueryModel(ui->tableview);

    model->setQuery(QString("select * from table"));

    model->setHeaderData(0,Qt::Horizontal,QObject::tr("編號"));

    model->setHeaderData(1,Qt::Horizontal,QObject::tr("姓名"));

    model->setHeaderData(2,Qt::Horizontal,QObject::tr("年齡"));

    ui->tableview->setModel(model);

    db->close();

    這樣之后,table表里的內容就會顯示到tableview中了。

幾點說明:

1.運行程序,提示鏈接錯誤,則需要將pro文件中添加 += sql后,重新make一下工程

2.運行程序,tableview中是空白,那么可能是因為數據庫位置沒有配好,先改成絕對路徑試試: C:\test.db

3.明明在界面編輯中拖了一個tableview控件進去,在編輯代碼那里死活找不到tableview,全部保存好幾遍也不行

后來直接運行一遍程序,再編輯代碼,自動完成提示里終於出現tableview了!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM