目录
本博主只关注实战系列,Qt的基本语法课参考其他博主的Qt教程
一、配置VS2022、Qt 5.14.2、 MSVC 2017环境
qt可自行下载,本博主使用的是版本是Qt 5.14.2,本人亲测可以运行
(1):扩展–>管理扩展,搜索qt,点击下载,等待下载完成,关闭vs,qt会自动安装
(2):扩展–>Qt VS Tools–>Qt Versions
选择Qt 安装目录,本人的是D:\Qt\5.14.2\msvc2017_64\bin,选中qmake.exe即可设置成功
二、编译mysql数据库驱动
这里需要下载Qt模块的源码,有两种方式:
(1):Qt安装时勾选Src目录
(2):可自行下载单独模块的源码,https://download.qt.io/archive/qt/,选择符合自己的Qt版本,之后进入submodules,选择qtbase-everywhere-src-5.14.2.zip进行下载
下载后解压到电脑Qt的安装目录下
(1):更改mysql的pro文件
到目录D:\Qt\5.14.2\Src\qtbase\src\plugins\sqldrivers,编辑qsqldriverbase.pri文件
仿照下面的内容,更改自己的qsqldriverbase.pri文件
QT = core core-private sql-private
# For QMAKE_USE in the parent projects.
#include($$shadowed($$PWD)/qtsqldrivers-config.pri)
include(./configure.pri)
PLUGIN_TYPE = sqldrivers
load(qt_plugin)
DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
到目录D:\Qt\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql,编辑mysql.pro文件
仿照下面的内容,更改自己的mysql.pro文件
TARGET = qsqlmysql
HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp
#QMAKE_USE += mysql
OTHER_FILES += mysql.json
PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)
#该路径是刚才下载解压备用的mysql的头文件路径
INCLUDEPATH +="D:/mysql/include"
#该路径是刚才下载解压备用的mysql的库文件路径
LIBS +="D:/mysql/lib/libmysql.lib"
#为了方便查找将来编译好的库文件,添加这个语句用来指明编译后的结果输出的位置
DESTDIR = "D:/Qt/5.14.2/Src/qtbase/src/plugins/sqldrivers/mysql/lib/"
(2):打开Qt终端
进入mysql目录,执行qmake
Setting up environment for Qt usage...
Remember to call vcvarsall.bat to complete environment setup!
D:\Qt\5.14.2\msvc2017_64>cd D:\Qt\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql
D:\Qt\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql>qmake
D:\Qt\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql>
(3):打开Vs 2022 的命令行工具
x64 Native Tools Command Prompt for VS 2022
进入目录,qmake,nmake即可
**********************************************************************
** Visual Studio 2022 Developer Command Prompt v17.8.6
** Copyright (c) 2022 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
D:\Microsoft Visual Studio>cd D:\Qt\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql
D:\Qt\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql>qmake
D:\Qt\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql>nmake
(4):输出结果
DESTDIR = “D:/Qt/5.14.2/Src/qtbase/src/plugins/sqldrivers/mysql/lib/”
将生成的qsqlmysql.dll、qsqlmysqld.dll拷贝到D:\Qt\5.14.2\msvc2017_64\plugins\sqldrivers目录中。
将MySQL目录(D:\mysql\lib)下的 libmysql.dll 拷贝到D:\Qt\Q5.14.2\msvc2017_64\bin目录中。
(5):测试运行
打开Visual Studio 2022,新建项目MysqlTest,选中Qt Widgets Application,一直下一步,项目就创建好了。Visual Studio 2022添加mysql模块,请参考下面步骤
项目–>属性
VC++目录,包含目录添加Qt的include目录
D:\Qt\5.14.2\msvc2017_64\include
D:\Qt\5.14.2\msvc2017_64\include\QtSql
VC++目录,库目录添加Qt的lib目录
D:\Qt\5.14.2\msvc2017_64\lib
Qt Project Settings下面的Qt Modules中添加sql模块
点击确定,vs2022的sql模块就配置好了。打开main.cpp文件
添加sql头文件QSqlDataBase,写入测试代码,结果可以看到mysql驱动可以正常使用
#include "MysqlTest.h"
#include <QtWidgets/QApplication>
#include <QSqlDataBase>
#include <QDebug>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
/* MysqlTest w;
w.show();*/
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost"); // 填写自己的数据库ip,本地为localhost
db.setDatabaseName("test"); // 数据库名称
db.setUserName("root"); // 数据库用户名
db.setPassword("1234"); // 数据库密码
qDebug() << db.drivers();
if (!db.open())
{
qDebug() << QStringLiteral("数据库连接失败");
}
qDebug() << QStringLiteral("数据库连接成功");
return a.exec();
}
三、结语
下一节【Qt实战教程第2篇 数据库 QSqlTableModel分页查询、增删改查 含源码+注释】