使用VS2017编写QT GUI程序
摘要
个人比较喜欢使用vs进行开发工作,但是用MFC编写GUI程序实在有点不方便,因此使用QT开发。于是打算用vs 2017编写QT程序。这里记录一下搭建开发环境的过程。
安装QT和VS2017的插件安装
下载qt的安装包5.xx的完整安装包,然后安装。由于这里使用的是VS2017进行开发。因此只需要额外选择使用msvc2017 32bit和msvc2017 64bit即可,在开发工具上只需选择默认安装的那一个即可。如下图所示的QT安装向导的某一步。
安装完毕后,打开已经安装好的vs2017,选择菜单栏的"工具->扩展",打开扩展工具的安装窗口。如下图所示。然后在"联机"中的搜索栏中输入QT,搜索得到QT扩展程序,如下图所示。
当该插件下载完成后,关闭VS2017,等待其自动弹出添加新插件的提示,然后按操作提示进行安装插件即可。
安装插件结束后,打开vs2017,会发现菜单栏多了一项“QT VS TOOLS”,点击该菜单项的Qt Options进行后续设置
在弹出的选项设置中添加刚刚安装QT时安装的两个编译环境。
两个都添加,msvc2017是编译成32位的,而msvc2017_64是编译64位程序的。
点击OK后就可以正确的使用VS2017编译QT GUI程序了。注意在创建项目时需要在项目模板中耐心查找。
创建的QT GUI项目后,项目的界面设计部分由QT设计器完成,其它代码由VS编辑器完成。编译就像正常的VS程序编译即可。你可以如同使用vs开发普通的win32程序一样对开发的QT程序进行调试、编译、执行。
当需要发布该程序时,虽然我们编译出了可执行文件,但是却无法正确的打开该可执行文件。因为程序执行时找不到相应的dll,因此打包和发布时需要将程序依赖的qt相关dll与可执行文件一起打包,否则编译后的可执行文件会因为找不到相关dll而无法运行。打包操作只需要执行一条命令即可。其命令是在开始菜单中找到如下图所示的相应的qt命令行,调用“windeployqt 编译后的可执行文件的完整路径或者文件夹路径”即可完成发布(或者找到windeployqt.exe执行相关命令),否则编译后的exe无法独立的运行。