QT数据库-网络编程-打包

2023-05-16

目录

一、讲解之前

二、数据库基本操作

三、模糊查询

二、编程之前

三、通信结构

一、设置应用图标(熟悉)

二、Debug和Release模式(掌握)

三、动态链接库(掌握)

四、打包(熟悉)


一、讲解之前

Qt本身并不具有数据库,只是Qt可能调用市面上主流的关系型数据库,支持:

Qt5版本开始,内置了一个SQLite数据库,并自带驱动程序。原因是SQLite是一个轻量级的数据库,在嵌入式领域广泛使用,通常使用扩展名.db .db3

由于Qt支持众多数据库的连接,因此为这些数据库的操作规定了统一的API接口,除了部分特殊接口有所差别外,使用的方式大致相似。

Qt项目使用数据库功能需要添加sql模块,在.pro文件中:

二、数据库基本操作

本次主要用到三个类:

  • QSqlDatabase

数据库连接类

当数据库连接打开成功时,会在项目的构建目录下生成SQLite对应的数据库文件,如下所示。

  • QSqlQuery

数据库操作类,数据库操作的验证可以通过SQLiteSpy软件,在项目的构建目录中打开数据库文件进行查看。

在执行SQL语句的过程中,注意不要拼接SQL语句,因为会引发安全性问题:SQL注入。Qt中使用SQL语句预处理+参数替换的方式避免SQL注入问题。

  • QSqlError

数据库异常类

三、模糊查询

模糊查询需要用到两个操作符:% _

  • % 表示匹配任意多个(0,1,...,n)字符
  • _ 表示匹配一个字符

_pple匹配的结果有:Apple Bpple ...

_ppl_匹配的结果有:Apple Applz ...

__匹配的结果:ax us ()

A%匹配的结果:所有A开头的单词

_a%匹配的结果:所偶第二个字母是a的单词

以上结果结合LIKE 或 GLOB 语句来执行,前者不区分大小写,后者区分大小写。

【例子】查询姓张的同学

SELECT * FROM stu WHERE name LIKE '张%';

二、编程之前

Qt要使用网络编程相关头文件,需要在.pro文件中添加network模块。

本次网络编程主要使用两个网络类:

  • QTcpServer

用于管理服务端连接的类,主要功能是管理。

部分函数如下:

函数功能:开始服务器监听

参数1:接受来自哪个IP地址的连接,QHostAddress类是IP地址封装类,默认值是QHostAddress::Any,表示接受任何IP地址的连接。

参数2:服务器的端口号,默认值0表示随机。

返回值:监听服务开启的结果。

函数功能:当客户端发起请求给服务器发射的信号。

函数功能:获取与客户端的连接通信的QTcpSocket对象

  • QTcpSocket

表示一个基于TCP的Socket连接类,主要功能是通信。

部分函数如下:

函数功能:连接到主机(服务器)参数1:目标主机的IP地址

参数2:目标主机的端口号

参数3:读写模式,默认为可读可写

获得连接对面的IP地址

获得对面的端口号

已经连接和断开连接发射的信号

每次新数据可读时发射的信号

三、通信结构

消息的发送是双向对等的,可以使用QTextSream类来完成,常用函数如下:

QTextStream::QTextStream(QIODevice * device)

构造函数,参数为基于哪个IO对象,支持所有的Qt的IO类。

QTextStream & QTextStream::operator<<(const QString & string)

成员函数运算符重载,输出运算符,支持链式调用

一、设置应用图标(熟悉)

设置应用的步骤如下:

1. 设计一款图标(或者下载),通常的图片格式(建议使用png)。建议使用256x256的分辨率。

2. 转换图片为图标的.ico格式,参考在线网站:

Convertio — 文件转换器

PNG转ICO, 在线转换器 - 转换视频, 音乐, 图像, PDF - Office-Converter.com

3. 把ico文件更改为合法名称,放置到工作目录下。

4. 在Qt Creator中,选中项目名称,鼠标右键,点击“添加新文件”

5. 在弹出的窗口中,按照下图所示进行操作。

6. 在弹出的窗口中,输入图标配置文件的名称 (例如:icon_config.rc),注意不要丢失文件扩展名.rc

7. 在项目管理页面,直接点击“完成”,可以在项目目录中看到多了一个.rc文件,双击进入编辑。

8. 添加下面的代码,双引号中的内容是图片文件的文件名。点击保存。

IDI_ICON1 ICON DISCARDABLE "icon.ico"

9. 进入.pro文件,添加下面的代码,icon_config.rc为图标配置文件的名称。点击保存。

RC_FILE += icon_config.rc

10. 运行程序,可以看到图标设置成功!

二、Debug和Release模式(掌握)

程序构建的模式可以在Qt Creator中设定,默认为Debug模式。

Debug模式下,生成的可执行文件中有很多调试信息,这样的程序其特点是运行速度较慢,并且体积比较大,适合程序员进行开发调试使用。

Release模式下,生成的可执行文件中一般不包含调试信息,而且体积比较小,运行速度相对较快,这样的程序适合发布给用户使用。

平常开发使用Debug模式,最后发布时可以改为Release模式,这两种模式的构建目录不同(开启影子构建)。但是目录中文件的结构是类似的,需要注意的是尽管这两种模式的构建目录都有debug和release文件夹,但是只有当前模式对应的文件夹下有exe可执行文件。

默认配置下,双击exe可执行文件(无论debug还是release)都是不能运行的,如下所示。

上面的窗口表示,单独的exe文件是不能执行的,因为exe文件仅仅是编写的代码而已,这个文件的运行还依赖于Qt的API调用接口。

三、动态链接库(掌握)

上面的弹窗表示可执行文件需要扩展名为dll格式的文件才能运行,dll格式是Qt在Windows操作系统下的动态链接库文件,实际上exe的执行不仅仅依赖于一个dll文件,而是若干个dll文件。

有以下两种补充dll文件的方法:

法一:直接补充所有常用的dll库文件,这种方法的优点是配置简单,缺点是有冗余的dll库,当前开发版本常用的dll库的下载连接链接如下所示:

百度网盘 请输入提取码

需要新建一个文件夹(不要包含中文字符),把dll文件与exe文件放到这个文件夹下,此时再次运行exe即可。

法二:使用Qt自带的windeployqt.exe程序提取部分exe文件运行所需要的dll文件,剩下的一部分需要手动补充。

使用方法看回放。

四、打包(熟悉)

本次使用打包工具是:isetup

安装包下载链接:https://pan.baidu.com/s/1ePF9WkLsDKSCpoXIGcR6rg 

安装过程避免使用中文字符路径,一直下一步即可。

打包过程如下:

1. 启动打包程序,按照下图所示进行操作。

2. 在新窗口中直接点击Next,如下所示。

3. 在新弹出的窗口中,依次输入应用名称、版本号、发布者、网址后,点击Next,如下所示。

4. 在新弹出的窗口中,可以更改软件的默认安装路径。然后,点击Next,如下所示。

5. 首先选择可执行文件,然后点击

,直接选择打包软件的根目录(即主文件夹),这样可以吧这个文件夹下的子文件都一并导入。

最后,点击Next执行下一步。

6. 在弹出的窗口中,根据个人需求来配置下面的选项后,点击Next。

7. 在弹出的页面中可以配置安装许可协议,直接点击Next忽略。

8. 在弹出的窗口,选择需要的安装包语言(没有中文......),点击Next。

9. 在弹出的窗口中,依次进行下图选项的配置后,点击Next

10. 在弹出的窗口中,直接点击Next。

11. 在弹出的窗口中,直接点击Finish

12. 询问是否编译配置好的脚本,点击“是”。

13. 会再次询问是否保存当前的配置脚本,以便于后期再次发布时,只更改版本号。

14. 等待编译完成即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QT数据库-网络编程-打包 的相关文章

随机推荐