目录
一. 版本管理规则
版本号由 版本号1.版本号2.版本号3.版本号4组成,其中各个部分的说明如下:
- 版本号1:出现接口修改、添加接口、版本无法兼容等情况修改此版本号;
- 版本号2:出现功能添加的情况修改此版本号;
- 版本号3:出现bug修改,漏洞修复的情况修改此版本号;
- 版本号4:研发中心内部测试过程中,开发人员每次提测修改此版本号。
二. 在工程中添加版本信息
1. 工程右键添加
工程右键->add->resource,弹出框如下图所示,Resource type列表中选择“Version”,右边选择“New"按钮。
2. 编辑版本信息
3. 编译当前工程
编辑完成后编译一下当前工程,编译出的工具就包含版本信息了。
找到编译好的.exe文件,右键属性-》详细信息,即可查看版本情况。
三. 帮助中添加版本信息查看对话框
1. 添加获取工具自身版本号代码
#include <WinVer.h>
#pragma comment(lib,"Version.lib")
QString MyFile::getVersion()
{
int nMaxPathName = 4096;
LPTSTR pBuffer;
UINT nItemLength;
void* pData, *lpBuffer;
QString sVersion;
DWORD dwInfoSize, dwHandle;
VS_FIXEDFILEINFO *pFileInfo;
pBuffer = new TCHAR[nMaxPathName];
GetModuleFileName(NULL, pBuffer, nMaxPathName - 1);
dwInfoSize = GetFileVersionInfoSize(pBuffer, &dwHandle);
if (dwInfoSize > 0)
{
pData = new char[dwInfoSize];
if (GetFileVersionInfo(pBuffer, dwHandle, dwInfoSize, pData))
if (VerQueryValue(pData, (LPTSTR)"\\", &lpBuffer, &nItemLength))
{
pFileInfo = (VS_FIXEDFILEINFO*)lpBuffer;
sVersion = QString::number(pFileInfo->dwProductVersionMS >> 16) + "." +
QString::number(pFileInfo->dwProductVersionMS & 0xFFFF) + "." +
QString::number(pFileInfo->dwProductVersionLS >> 16) + "." +
QString::number(pFileInfo->dwProductVersionLS & 0xFFFF);
}
delete[] pData;
}
delete[] pBuffer;
return sVersion;
}
2. 添加版本信息查看对话框
QMessageBox message(QMessageBox::NoIcon, QString::fromLocal8Bit("软件版本"), QString::fromLocal8Bit("\t\n软件版本: V")
+ EnvrimentData::getInstent()->getVersion() + " \t\n \t\n" +
QString::fromLocal8Bit(" 版权: 某某某有限公司 \t\n"));
message.setWindowIcon(QPixmap("图片地址"));
message.setIconPixmap(QPixmap("图片地址"));
message.exec();