在Linux平台上使用QtCreator开发数据库应用,核心在于正确安装Qt开发环境、启用SQL模块以及配置对应数据库的客户端依赖。只要把编译环境和运行时库准备好,就能用Qt提供的QSql类轻松操作数据。

一、安装QtCreator与Qt库
以Ubuntu为例,可通过官方安装包或系统仓库获取QtCreator。建议从Qt官网下载在线安装器,选择包含Qt SQL模块的版本。若使用apt,可执行以下命令安装基础工具:
sudo apt update sudo apt install qtcreator qtbase5-dev qtbase5-dev-tools # 若使用MySQL,还需安装客户端库 sudo apt install libmysqlclient-dev # 若使用SQLite,一般系统已自带,也可安装 sudo apt install libsqlite3-dev
二、在项目中启用SQL模块
创建Qt Widgets或Console项目后,需要修改工程文件(.pro),加入sql模块,否则无法使用QSqlDatabase等类。
QT += core gui sql # 如果是Widgets项目还需 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
三、编写数据库连接代码
下面以SQLite和MySQL为例,展示如何在main函数中建立连接并做简单查询。注意QSqlDatabase的addDatabase中驱动名必须正确。
SQLite示例
#include <QCoreApplication>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 添加SQLite驱动
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("test.db");
if (!db.open()) {
qDebug() << "无法打开数据库";
return -1;
}
QSqlQuery query;
query.exec("CREATE TABLE IF NOT EXISTS user(id INTEGER PRIMARY KEY, name TEXT)");
query.exec("INSERT INTO user(name) VALUES('张三')");
qDebug() << "SQLite连接成功";
return a.exec();
}
MySQL示例
#include <QCoreApplication>
#include <QSqlDatabase>
#include <QSqlError>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("127.0.0.1");
db.setDatabaseName("testdb");
db.setUserName("root");
db.setPassword("password");
if (!db.open()) {
qDebug() << "MySQL打开失败:" << db.lastError().text();
return -1;
}
qDebug() << "MySQL连接成功";
return a.exec();
}
四、常见配置问题
- 运行时报驱动未加载:说明Qt编译时未包含对应驱动,可重装带sql的Qt版或自行编译插件。
- MySQL连接被拒:检查libmysqlclient是否安装,以及数据库用户权限和地址。
- 程序在其它机器跑不了:可将对应so库随程序发布,或静态编译相关驱动。
五、小结
使用QtCreator进行Linux数据库应用开发,只需把握安装依赖、修改pro文件加入sql模块、用QSqlDatabase建立连接这三点。熟悉之后,无论是本地SQLite还是远程MySQL都能快速接入,为后续界面与业务逻辑开发打好基础。