Qt + SQLite 配置与使用指南

Qt + SQLite 配置与使用指南

1.1 Qt 工程配置(.pro 文件)

打开项目的 .pro 文件,在原有模块后追加 sql:

QT += core gui serialport sql

必须重新执行 qmake :在 Qt Creator 中右键项目 → 执行 qmake,然后重新构建。否则编译器会报找不到 QSqlDatabase 等头文件。

验证 SQLite 驱动是否加载成功,可在 main.cpp 或任意窗口中加一段测试代码:

#include <QSqlDatabase>
#include <QDebug>

*//*打印所有可用的数据库驱动
qDebug() << QSqlDatabase::drivers();
*//*正常应输出列表中包含 "QSQLITE"

若列表中没有 QSQLITE,请检查:

  1. 是否正确添加了 QT += sql 并重新 qmake。
  2. 若使用静态编译的 Qt,需要手动链接 SQLite 插件;动态编译的 Qt(官方安装版默认)通常自带。

1.2 SQLite 可视化工具安装(DB Browser for SQLite)

项目运行后会生成 .db 文件,直接用文本编辑器打开是乱码,建议安装可视化工具查看。

推荐工具:DB Browser for SQLite
  • 官网下载https://sqlitebrowser.org/dl/
  • Windows 用户直接下载 DB.Browser.for.SQLite-v3.x.x-win64.exe 安装包,按向导安装即可。
基本使用步骤
  1. 打开数据库文件 :点击 打开数据库,选择项目运行目录下的 device_data.db。
  2. 浏览数据 :切换到 浏览数据 标签,选择表 device_data,即可查看所有已存储的记录。
  3. 执行 SQL :切换到 执行 SQL 标签,可手写查询语句,例如:
  1. * FROM device_data ORDER BY timestamp DESC LIMIT 10;
  1. 导出数据 :在 浏览数据 界面右键 → 导出结果,可导出为 CSV/Excel,方便后续分析。

替代工具:SQLiteStudio(https://sqlitestudio.pl),功能类似,按个人习惯选择即可。


1.3 常见环境排错

|-----------------------------------------|-------------------------|----------------------------------------------------|
| 现象 | 原因 | 解决 |
| QSqlDatabase: QSQLITE driver not loaded | 未加 QT += sql 或未重新 qmake | 检查 .pro,重新 qmake → 重新构建 |
| 程序启动后找不到 .db 文件 | 使用的是相对路径 device_data.db | 文件实际生成在可执行程序所在目录(build 目录),而非源码目录,但可使用代码指定生成目录 |
| 可视化工具提示数据库被锁定 | Qt 程序正在运行并占用数据库 | 关闭 Qt 程序后再用 DB Browser 打开,或在代码中使用 m_db.close() 后查看 |

相关推荐
cookies_s_s3 小时前
C++ 字符串动态创建对象 -- 工厂模式、自动注册、模板递归动态调用
服务器·开发语言·c++
王老师青少年编程3 小时前
2026年6月GESP真题及题解(C++七级):消消乐
数据结构·c++·算法·真题·gesp·2026年6月
海清河晏1113 小时前
数据结构 | 二叉搜索树
数据结构·c++·visual studio
盐焗鹌鹑蛋4 小时前
【C++】继承
开发语言·c++
会周易的程序员4 小时前
使用 pybind11 封装 C++ 日志库 microLog 为 Python 模块
java·c++·python·物联网·架构·日志·aiot
WZF-Sang5 小时前
网络基础——2
服务器·网络·c++·学习·网络编程·php
-西门吹雪6 小时前
现代C++ 并发编程-学习指南
java·jvm·c++
m0_587098997 小时前
Qt,二进制文件读写建议
开发语言·qt
秋田君7 小时前
QT_QT信号与槽机制
开发语言·数据库·qt
辞旧 lekkk7 小时前
【Qt】 系统相关:事件与定时器
开发语言·qt·学习·萌新