IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Qt5.14+VS2017+MySQL环境搭建 -> 正文阅读

[开发工具]Qt5.14+VS2017+MySQL环境搭建

注:本文不教怎么下载和安装软件,仅提供安装注意事项及环境搭建方法,本文所有涉及到的文件路径请根据自己实际安装位置进行更改,下文不再赘述。

一、搭建环境前需要准备的文件

Qt下载地址:
http://download.qt.io/archive/
VS2017下载地址:
https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/
MySQL下载地址:
https://dev.mysql.com/downloads/mysql/

本文中使用的软件版本:
Qt5.14.2
VS2017
MySQL8.0.26

二、安装软件注意事项

2.1 安装Qt时必须要勾选的组件

三、Qt+VS环境搭建

3.1 安装VS扩展

打开VS2017,依次找到 “工具”>“扩展和更新”,在"联机"选项中搜索"qt"找到"Qt Visual Studio Tools"并安装它。

3.2 配置Qt VS Tools

①打开"Qt VS Tools">“Qt VerSions”

②添加"qmake.exe" (默认路径:C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\bin\qmake.exe)

③注:因网上大部分文章中"Qt VS Tools"的配置选项跟我的配置有点不同,故在此将网上其他配置方式也一并放上来。此操作最终效果实际上与第②步操作相同,②③两步选择与自己实际情况选择。

四、QT+MySQL环境搭建

由于各种原因,Qt没有提供MySQL数据库驱动,需要自己编译一个动态库。

4.1 配置MySQL环境变量

(默认路径:C:\Program Files\MySQL\MySQL Server 8.0\bin)

4.2 测试MySQL环境变量配置是否成功

打开cmd,使用"mysql -u 用户名 -p"命令测试,如下图所示:

4.3 在连接数据库时可能会遇到问题

在操作系统的"服务"中找到"MySQL80"服务,并启动它,如下图

4.4 使用Qt编译mysql动态库

①打开Qt源码中的"mysql.pro"项目,并将对下图两个文件代码进行更改:
(默认路径:C:\Qt\Qt5.14.2\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

#新增代码
INCLUDEPATH += $$quote(C:/Program Files/MySQL/MySQL Server 8.0/include)
DEPENDPATH += $$quote(C:/Program Files/MySQL/MySQL Server 8.0/include)
LIBS += $$quote(C:/Program Files/MySQL/MySQL Server 8.0/lib/libmysql.lib)
#新增代码
#注:复制路径时斜杠方向可能是反的

include(../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

④更改完成后保存并构建项目

⑤构建项目完成后,可以在路径"C:\plugins\sqldrivers"下找到下图几个文件

⑥将上图两个文件"qsqlmysql.dll"及"qsqlmysqld.dll"复制到以下路径:
C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\plugins\sqldrivers

⑦在路径"C:\Program Files\MySQL\MySQL Server 8.0\lib"中找到"libmysql.lib"
并将其复制到"C:\Qt\Qt5.14.2\5.14.2\msvc2017_64\bin"

五、使用VS编写代码测试Qt与MySQL的连接

5.1 创建Qt Widgets项目

注:在创建项目时,注意在Qt Modules选项中勾选"SQL",如下图:

如果在创建项目时忘记勾选了,可以在该项目的属性中重新勾选,如下图: 5.2 在main函数中编写代码如下:
#include "QtWidgetsApplication1.h"
#include <QtWidgets/QApplication>
#include <QtWidgets/QMessageBox>
#include <QtSql/QSqlDataBase>
#include <QtSql/QSqlError>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QtWidgetsApplication1 w;
    w.show();
    
    //创建数据库对象,并选择数据库驱动为QMYSQL
	QSqlDatabase *db = new QSqlDatabase(QSqlDatabase::addDatabase("QMYSQL"));
	
	db->setHostName("localhost");//数据库地址
	db->setPort(3306);//数据库端口号,MySQL默认端口号3306
	db->setDatabaseName("数据库名");//数据库名
	db->setUserName("用户名");//用户名
	db->setPassword("密码");//密码
	
	//打开数据库
	if (db->open()) {
		QMessageBox::information(NULL, "info", "Sql Connected.");
	}
	else {
		QMessageBox::information(NULL, "info", "connect failed:" + db->lastError().text());
	}
	//关闭数据库
	QString dbname = db->connectionName();
	db->close();
	delete db;
	db = NULL;
	QSqlDatabase::removeDatabase(dbname);
	
    return a.exec();
}

5.3 调试程序

如下图所示即为数据连接成功:

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-10-22 11:08:46  更:2021-10-22 11:09:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 22:40:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码