安南到南安

Good Good Study, Day Day Up

View me on GitHub

QT使用小记

21 Oct 2017

前记

本来想用PyQT实现一个读书笔记助手的桌面应用,但是越开发越感觉吃力,Python并不是用在这个方面的啊,我也是天真。无奈只能采用本身的QT框架进行继续的开发。

开发中遇到的问题与相关解决方案

本地环境的搭建

我在开发中选择的是QT4.8.6(MinGw),之所以不选择QT5主要是因为身边的同事都是进行QT4进行的项目开发,如果使用QT5的话并不能让我在遇到问题的时候能快速解决。毕竟我只是临时想去用QT去实现这个东西。使用MinGw就是因为占用的空间小,而且VS出了问题更难解决——用VS我都不如去学习C#进行桌面应用的开发。在Qt官网上我们能够找到QtCreatorQt的下载,关于MinGw,下载的Qt在安装过程中会给你提供mingw的下载路径,所以不需要我们再去自己找MinGw,很是方便。后面基础环境的布置我不一一介绍,这个网站有较为详细的配置方案。

文件的压缩和解压实现

通过百度,我了解到能够使用 Qt 的第三方库 quazip 实现相关功能。在官网下载 quazip 源码后,直接用 Qt 打开 quazip 文件夹里的 pro 文件就可以。这里需要注意的是,下载的源码包括两个部分—— quazip 和 quatest,对于这两个功能有在根目录有一个 pro 文件,我这里选择进入quazip通过里面的 pro 运行项目。网上有说,直接对quazip编译的时候会出问题,是因为没有用到 Qt 的 zip 功能模块,因此需要进行一系列的操作balabala。但是我在实际操作的时候并没有出现编译不过的情况。由于我并没有对Qt有一个系统性的了解,一开始没有意识到 debug 和 release 会生成不同的 dll 文件(lquazipd.dll 和 lquazip.dll),而且在其他项目导入使用的时候也需要使用对应模式下生成的文件来保证功能的使用。

项目应用的导出

我们写好的程序并不只是跑在我们的 IDE 下的,因此不可避免地会有需要导出发布的过程。在使用release生成运行程序后,我建议先把 Qt 安装目录中所有 dll 文件放到 exe程序的目录下面,我就是由于懒而只是放入了 QtCore.dll等几个文件,结果就是各种程序无法运行,然后在这种愚蠢的问题上调试了不少时间,有这时间我都不如去玩游戏的说。最后索性把所有 dll 文件都放入里面,程序果然能够正常运行,接下来就是一个个删除的问题了。记住,只要调试正常,那肯定就是你没有放入足够的 dll。