在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了!

QT使用SQLite的更多相关文章

  1. Qt 操作SQLite数据库

    项目中通常需要采用各种数据库(如 Qracle.SQL Server.MySQL等)来实现对数据的存储.查询等功能.下面讲解如何在 Qt 中操作 SQlite 数据库. 一.SQLite 介绍 Sql ...

  2. 关于QT和SQLite以及XML

    就关于qt连接使用sqlite折腾了一晚上.倒也不全是因为数据库连接的问题, 主要还是数据格式各自出问题. 原来的数据库是access, 为了导入linux下的sqlite, 我把其输出格式改成了xm ...

  3. Qt基于sqlite数据库的管理小软件

    闲来无事,写了一个基于sqlite的数据库管理小软件. 先上图 中心思想就是: 创建一个数据库 然后每一个分组对应一个数据表 然后遍历该数据表.将名字以treewidgetItem显示出来.添加删除实 ...

  4. QT中Sqlite的使用

    环境: 静态编译过sqlite 步骤: 1.C++链接器中加入Sqlite.lib,然后在测试一下是否能正常加载Sqlite驱动 #include<QtPlugin> Q_IMPORT_P ...

  5. Linux之Qt利用Sqlite静态编译库(转)

    参考:http://www.linuxidc.com/Linux/2011-11/47465.htm sqlite3编译安装 ------------------------arm版--------- ...

  6. Qt数据库(sqlite) — 总结

    #include <QtSql>QT += sql QSqlDatabase类实现了数据库连接的操作QSqlQuery类用来执行SQL语句QSqlRecord类 封装数据库所有记录 第一: ...

  7. Qt数据库sqlite总结

      QSqlDatabase类实现了数据库连接的操作QSqlQuery类用来执行SQL语句QSqlRecord类封装数据库所有记录QSqlRelationalTableModelQSqlQueryMo ...

  8. qt连接数据库Sqlite

    #include <QCoreApplication> #include <QDebug> #include <QSqlDatabase> #include < ...

  9. Linux QT 连接 Sqlite数据库

    #include <QApplication> #include <QDebug> #include <QSqlQuery> #include <QSqlDa ...

随机推荐

  1. 构建工具 —— Groovy 与 Gradle

    1. Gradle Gradle 是一个基于 Groovy 的构建工具,使用 Groovy 来编写构建脚本,类似 maven,支持依赖管理和多项目创建. 相比 maven,更轻量: windows c ...

  2. 【leetcode】20-ValidParentheses

    problem Valid Parentheses code class Solution { public: bool isValid(string s) { stack<char> p ...

  3. Unity 3D-Canvas画布的三种模式

    Unity开发VR之Vuforia 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- ...

  4. 阿里云ECS服务器购买流程 (自定义配置购买、按月、按量购买)教程

    阿里ECS云服务器自定义购买流程 本文提供全图文流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- ...

  5. 【HDOJ1217】【Floyd求最长路】

    http://acm.hdu.edu.cn/showproblem.php?pid=1217 Arbitrage Time Limit: 2000/1000 MS (Java/Others)    M ...

  6. Ubuntu下一个好用的终端

    在终端下输入: sudo apt-get install terminator 快捷键: shift+ctrl+e          在当前窗口右侧新开一个窗口 shift+ctrl+w        ...

  7. gogs wekan 集成试用

    wekan 官方提供了一个集成gogs 的扩展,不是完全的自动化,需要结合cli,但是官方的cli 写的...(不是很全) 备注: 测试环境使用docker-compose 环境准备 docker-c ...

  8. Ubuntu安装时怎样分区

    1./swap交换分区,一般为你机器内存的两倍.少于这个容量.系统无法进入休眠. 实质是硬盘上的交换空间而非分区.所以没有格式,默认休眠将数据储存于此 能够取消(如不用swap必须再设定方可休眠)-- ...

  9. System.Collections 学习

    public interface IEnumerator { object Current { get; } bool MoveNext(); void Reset(); } public inter ...

  10. str_replace中的匹配空白符,必须用双引号

    例: $minUnit = str_replace(array('\r','\n'),"",$content); 执行上面的语句,你会发现,文本没有任何变化,该换行的地方还是换行. ...