Qt Creator:用于程序开发;
Qt Design Studio:设计人员做UI设计;
1、创建程序项目
(1)使用Qt Creator创建桌面程序
(2)创建后的目录
(3)修改过时代码
改成:
const QUrl url(QStringLiteral("qrc:/qt/qml/Main/main.qml"));
2、修改程序图标
(1)拷贝ico文件到*.exe同级目录下
(2)在main.cpp加入图标引用代码
#include <QIcon>
// 设置程序图标
QIcon appIcon("main.ico"); // 替换为您的图标文件路径
app.setWindowIcon(appIcon);
3、隐藏伴随窗口console窗口
在CMakeLists.txt中加入以下代码:
if(WIN32)
if(MSVC)
set_target_properties(${PROJECT_NAME} PROPERTIES
WIN32_EXECUTABLE YES
LINK_FLAGS "/ENTRY:mainCRTStartup"
)
elseif(CMAKE_COMPILER_IS_GNUCXX)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mwindows") # Not tested
else()
message(SEND_ERROR "You are using an unsupported Windows compiler! (Not MSVC or GCC)")
endif(MSVC)
elseif(APPLE)
set_target_properties(${PROJECT_NAME} PROPERTIES
MACOSX_BUNDLE YES
)
elseif(UNIX)
# Nothing special required
else()
message(SEND_ERROR "You are on an unsupported platform! (Not Win32, Mac OS X or Unix)")
endif(WIN32)
4、导出exe程序
(1)使用Release模式构建项目
(2)拷贝Release构建的exe程序到发布目录
拷贝到发布目录
(3)使用windeployqt命令导出依赖库
命令:
windeployqt untitledApp.exe --qmldir E:\project\test\untitled\build\Desktop_Qt_6_8_0_MinGW_64_bit-Release\qml
导出依赖库后的目录:
(4)Window系统里使用图标创建快捷方式
(5)使用bat批处理脚本完成导出exe程序
@echo off
:: 定义源文件所在文件夹路径变量
set sourceFolderPath=E:\project\test\untitled\build\Desktop_Qt_6_8_0_MinGW_64_bit-Release
:: 定义exe源文件名变量
set sourceExeFileName=untitledApp.exe
:: 定义ico源文件名变量
set sourceIcoFileName=main.ico
:: 定义目标文件夹路径变量
set destinationFolderPath=E:\project\test\export_exe\untitled
:: windeployqt路径
set WINDEPLOYQT_PATH=D:\QT\6.8.0\mingw_64\bin\windeployqt.exe
:: QML 目录的路径
set QML_PATH=qml
:: 拼接完整的源文件路径
set "fullSourceExeFilePath=%sourceFolderPath%\%sourceExeFileName%"
set "fullSourceIcoFilePath=%sourceFolderPath%\%sourceIcoFileName%"
set "APP_PATH=%destinationFolderPath%\%sourceExeFileName%"
set "QMLDIR=%sourceFolderPath%\%QML_PATH%"
set "SHORTCUT_PATH=%sourceExeFileName%.lnk"
:: 使用变量进行文件拷贝
xcopy "%fullSourceExeFilePath%" "%destinationFolderPath%\" /Y
xcopy "%fullSourceIcoFilePath%" "%destinationFolderPath%\" /Y
:: 使用 windeployqt 命令
%WINDEPLOYQT_PATH% %APP_PATH% --qmldir %QMLDIR%
:: 创建快捷方式
PowerShell -Command "$sh = New-Object -COM WScript.Shell; $sc = $sh.CreateShortcut('%SHORTCUT_PATH%'); $sc.TargetPath = '%APP_PATH%'; $sc.IconLocation = '%fullSourceIcoFilePath%,0'; $sc.Save()"
pause