转:QT安装简介

1、下载QT安装包

下载网址:http://download.qt.io/

或者http://download.qt.io/archive/qt/

选择一个你需要的版本,例如 5.10


点击进去后,选择对应操作系统的安装包下载,例如qt-opensource-windows-x86-5.10.0.exe

2、安装QT

安装包下载好后,双击运行,根据提示一步步往下走即可


在选择要安装的组件时,可能需要注意了,可以用两种编译器编译QT程序,一个是Visual Studio,另外一个是MinGW,是Minimalist GNUfor Windows的缩写。

如果选择了Visual Studio作为编译器,就必须安装对应版本的Visual Studio,刚开始我是安装Visual Studio2015,但是发现VS 太大了,十几个G,安装之后C盘所剩无几。虽然安装时选到了其他盘,但是大部分仍然还是被装到了C盘,卸载的时候也很无奈,得从控制面板中一个个卸载。

虽然安装QT时选择了MSVC组件,但是Visual Studio编译器并没有一起安装,因为Visual Studio是微软的软件,QT是不敢把它集成到自己的安装包中,但是如果选择了MinGW,就会在安装上MinGW编译器,因为MinGW是开源的。

3、创建一个工程

安装好后,双击QtCreator运行


选择新建一个工程,可以选择Qt Widgets Application


选择Qt Widgets Application 模版后,编译运行起来就能看到一个简单的界面


点击左下角的三角图标编译和运行你的程序,这时候就会弹出一个窗口,如果是要编译出正式版本的exe,可以编译出release版本


在项目界面中的构建配置中选择成release,默认是debug,release版本编译出来的exe会比debug版本的文件要小。


同样的点击三角形运行图标后,会在对应的目录下生成exe文件,这个exe文件双击之后还是无法运行的,因为缺少一些dll文件,那么我们怎么知道还缺少什么dll文件,可以用QT自带的工具来完成。


运行该该程序


切换到一个空目录下,同时把QT编译出来的exe文件拷贝到这个目录下,然后输入windeployqt  ProgramName.exe


运行完之后,会在该目录下生成需要的文件,这时再双击exe文件,就可以之前运行程序了,同样把该目录下的所有文件拷贝到其他电脑上,也可以直接运行。

如果觉得在命令窗口中输入命令很麻烦,也可以使用如下脚本来帮助生成依赖文件

qt_pack.bat


    
    
  1. @echo off
  2. rem set current dir
  3. set cur_dir=%cd%
  4. rem Setting up environment for Qt usage...
  5. set PATH=D:\Qt\Qt5 .10 .0\ 5.10 .0\mingw53_32\bin;D:/Qt/Qt5 .10 .0/Tools/mingw530_32\bin;%PATH%
  6. rem set windeployqt tool path
  7. set windeployqt=D:\Qt\Qt5 .10 .0\ 5.10 .0\mingw53_32\bin\windeployqt.exe
  8. for /f "delims=\" %%a in ( 'dir /b /a-d /o-d "%cur_dir%\*.exe"') do (
  9. for /f "delims=.exe tokens=1,*" %%i in ( "%%a") do (
  10. rem if dir is exist ,remove firstly
  11. if exist %cur_dir%\%%i (
  12. rd /s /Q %cur_dir%\%%i
  13. )
  14. rem create dir
  15. md %cur_dir%\%%i
  16. rem move exe file to designated dir
  17. move %%a %cur_dir%\%%i\%%a
  18. rem execute windeployqt
  19. %windeployqt% %cur_dir%\%%i\%%a
  20. )
  21. )
  22. rem wait for input
  23. pause

将上面的内容拷贝到一个.bat的脚本文件中,放在一个空目录下,把QT编译出来的exe也放在这个目录下,运行脚本即可

上述脚本中set PATH 需要改成QT对应的安装目录,注意后面的路径是/

set PATH=D:\Qt\Qt5.10.0\5.10.0\mingw53_32\bin;D:/Qt/Qt5.10.0/Tools/mingw530_32\bin;%PATH%
    
    

脚本中的 windeployqt 也需要改成QT对应的安装目录

set windeployqt=D:\Qt\Qt5.10.0\5.10.0\mingw53_32\bin\windeployqt.exe
    
    

编写脚本遇到的问题

for /f "delims=.exe tokens=1,*" %%i in ("%%a")
    
    

遍历当前目录下的exe文件,依次调用windeployqt 给对应的exe 生成依赖文件,需要先在当前目录下创建一个文件夹,文件夹的名称就是exe对应的文件名,外面的一个for循环可以得到exe的文件名和后缀,例如Qwind.exe,这个值存在%%a中,我需要把%%a中的.exe去掉,只保留Qwind,所以写了第二个for,用于得到.exe前面的字符串。

一开始写成 in (%%a) ,结果死活运行不正确,后面加了单引号'%%a' 也不正确,最后改成了双引号才没有问题。


1、下载QT安装包

下载网址:http://download.qt.io/

或者http://download.qt.io/archive/qt/

选择一个你需要的版本,例如 5.10


点击进去后,选择对应操作系统的安装包下载,例如qt-opensource-windows-x86-5.10.0.exe

2、安装QT

安装包下载好后,双击运行,根据提示一步步往下走即可


在选择要安装的组件时,可能需要注意了,可以用两种编译器编译QT程序,一个是Visual Studio,另外一个是MinGW,是Minimalist GNUfor Windows的缩写。

如果选择了Visual Studio作为编译器,就必须安装对应版本的Visual Studio,刚开始我是安装Visual Studio2015,但是发现VS 太大了,十几个G,安装之后C盘所剩无几。虽然安装时选到了其他盘,但是大部分仍然还是被装到了C盘,卸载的时候也很无奈,得从控制面板中一个个卸载。

虽然安装QT时选择了MSVC组件,但是Visual Studio编译器并没有一起安装,因为Visual Studio是微软的软件,QT是不敢把它集成到自己的安装包中,但是如果选择了MinGW,就会在安装上MinGW编译器,因为MinGW是开源的。

3、创建一个工程

安装好后,双击QtCreator运行


选择新建一个工程,可以选择Qt Widgets Application


选择Qt Widgets Application 模版后,编译运行起来就能看到一个简单的界面


点击左下角的三角图标编译和运行你的程序,这时候就会弹出一个窗口,如果是要编译出正式版本的exe,可以编译出release版本


在项目界面中的构建配置中选择成release,默认是debug,release版本编译出来的exe会比debug版本的文件要小。


同样的点击三角形运行图标后,会在对应的目录下生成exe文件,这个exe文件双击之后还是无法运行的,因为缺少一些dll文件,那么我们怎么知道还缺少什么dll文件,可以用QT自带的工具来完成。


运行该该程序


切换到一个空目录下,同时把QT编译出来的exe文件拷贝到这个目录下,然后输入windeployqt  ProgramName.exe


运行完之后,会在该目录下生成需要的文件,这时再双击exe文件,就可以之前运行程序了,同样把该目录下的所有文件拷贝到其他电脑上,也可以直接运行。

如果觉得在命令窗口中输入命令很麻烦,也可以使用如下脚本来帮助生成依赖文件

qt_pack.bat


  
  
  1. @echo off
  2. rem set current dir
  3. set cur_dir=%cd%
  4. rem Setting up environment for Qt usage...
  5. set PATH=D:\Qt\Qt5 .10 .0\ 5.10 .0\mingw53_32\bin;D:/Qt/Qt5 .10 .0/Tools/mingw530_32\bin;%PATH%
  6. rem set windeployqt tool path
  7. set windeployqt=D:\Qt\Qt5 .10 .0\ 5.10 .0\mingw53_32\bin\windeployqt.exe
  8. for /f "delims=\" %%a in ( 'dir /b /a-d /o-d "%cur_dir%\*.exe"') do (
  9. for /f "delims=.exe tokens=1,*" %%i in ( "%%a") do (
  10. rem if dir is exist ,remove firstly
  11. if exist %cur_dir%\%%i (
  12. rd /s /Q %cur_dir%\%%i
  13. )
  14. rem create dir
  15. md %cur_dir%\%%i
  16. rem move exe file to designated dir
  17. move %%a %cur_dir%\%%i\%%a
  18. rem execute windeployqt
  19. %windeployqt% %cur_dir%\%%i\%%a
  20. )
  21. )
  22. rem wait for input
  23. pause

将上面的内容拷贝到一个.bat的脚本文件中,放在一个空目录下,把QT编译出来的exe也放在这个目录下,运行脚本即可

上述脚本中set PATH 需要改成QT对应的安装目录,注意后面的路径是/

set PATH=D:\Qt\Qt5.10.0\5.10.0\mingw53_32\bin;D:/Qt/Qt5.10.0/Tools/mingw530_32\bin;%PATH%
  
  

脚本中的 windeployqt 也需要改成QT对应的安装目录

set windeployqt=D:\Qt\Qt5.10.0\5.10.0\mingw53_32\bin\windeployqt.exe
  
  

编写脚本遇到的问题

for /f "delims=.exe tokens=1,*" %%i in ("%%a")
  
  

遍历当前目录下的exe文件,依次调用windeployqt 给对应的exe 生成依赖文件,需要先在当前目录下创建一个文件夹,文件夹的名称就是exe对应的文件名,外面的一个for循环可以得到exe的文件名和后缀,例如Qwind.exe,这个值存在%%a中,我需要把%%a中的.exe去掉,只保留Qwind,所以写了第二个for,用于得到.exe前面的字符串。

一开始写成 in (%%a) ,结果死活运行不正确,后面加了单引号'%%a' 也不正确,最后改成了双引号才没有问题。


猜你喜欢

转载自blog.csdn.net/qq_18204721/article/details/83586212