Qt 发布程序时,如何添加编译时间信息

80 篇文章 2 订阅
20 篇文章 2 订阅

在Qt发布程序时,有时想将版本号信息加上编译时间添加到程序右下角。

  • 利用__DATE__与__TIME__编译宏特性为Qt程序添加编译日期时间。
  • __DATE____TIME__是C/C++语言中的预定义宏,它们分别用于获取当前源文件被编译的日期和时间。
  • __DATE__宏返回一个字符串常量,表示当前源文件被编译的日期。日期的格式为 “MMM DD YYYY”,其中MMM表示月份的缩写,DD表示日期,YYYY表示年份的四位数。例如,“Sep 05 2023” 表示2023年9月5日。
  • __TIME__宏返回一个字符串常量,表示当前源文件被编译的时间。时间的格式为 “HH:MM:SS”,其中HH表示小时,MM表示分钟,SS表示秒钟。例如,“01:30:04” 表示01时30分04秒。
    这两个宏在编写代码时可以用于输出编译时的日期和时间信息。通常用于日志记录、版本信息等场景中,有助于追踪代码的更新和维护。注意,它们提供的是编译时的日期和时间,并不是运行时的实际日期和时间。
    注意:***QDateTime::currentDateTime()***是获取当前时间的,不是获取编译时间的。
    以下是具体实现
static const QString buildTime()
{
    QString dateTime;
    dateTime.clear();
    dateTime += __DATE__;
    dateTime += __TIME__;
    //注意" "是两个空格,用于日期为单数时需要转成“空格+0”
    dateTime.replace("  "," 0");

    QDateTime buildDateTime = QLocale(QLocale::English).toDateTime(dateTime,"MMM dd yyyyhh:mm:ss");
    QString strMonth, strDay, strHour;
    int nMonth = buildDateTime.date().month();
    if(nMonth < 10)
    {
        strMonth = QString("0%1").arg(nMonth);
    }else{
        strMonth = QString("%1").arg(nMonth);
    }
    int nDay = buildDateTime.date().day();
    if(nDay < 10)
    {
        strDay = QString("0%1").arg(nDay);
    }else{
        strDay = QString("%1").arg(nDay);
    }
    int nHour = buildDateTime.time().hour();
    if(nHour < 10)
    {
        strHour = QString("0%1").arg(nHour);
    }else{
        strHour = QString("%1").arg(nHour);
    }

    QString strBuildTime;
    strBuildTime = QString("%1-%2-%3 %4:%5:%6").arg(buildDateTime.date().year()).arg(strMonth).arg(strDay).arg(strHour).arg(buildDateTime.time().minute()).arg(buildDateTime.time().second());
    return strBuildTime;
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Qt6 是一个跨平台的应用程序开发框架,它提供了丰富的工具和库,用于开发图形用户界面、网络应用程序等。Qt6 在官方发布后,通常会有预编译的版本可供开发者直接使用,不需要自己编译。 然而,如果你需要定制 Qt6 并进行扩展或研究,那么你可能需要自己编译 Qt6。自己编译 Qt6 可以根据你的需求进行定制,比如选择特定的模块或功能并进行优化,或者集成一些额外的第三方库。自己编译还可以帮助你更好地理解 Qt6 的内部工作原理。 Qt6 提供了一套完整的编译工具和说明文档,以帮助开发者进行编译和安装。你可以从 Qt 官方网站下载源代码和编译工具链,并按照官方文档的指引进行编译编译 Qt6 的过程可能会有一些复杂,需要较长的时间和较大的系统资源。 总之,Qt6 不一定需要自己编译,官方通常会提供预编译的版本,方便开发者直接使用。但如果你需要定制或深入研究 Qt6,那么自己编译可能是一个不错的选择。 ### 回答2: Qt6 是由Qt开发团队发布的下一代版本,目前官方版本已经发布Qt6不需要用户自己进行编译。相比于以前版本的QtQt6提供了更简洁且高效的安装方式。用户只需前往Qt官方网站下载适用于自己操作系统的Qt安装包,然后按照安装向导进行操作即可。Qt6的安装过程是自动化的,用户无需进行编译或配置相关环境。用户可以选择安装Qt的自定义组件或功能,并且可以在线安装后续更新的Qt版本。因此,Qt6的安装非常方便快捷,不需要用户自己编译。用户只需下载安装包,按照步骤进行安装,即可立即开始使用Qt6进行软件开发。这为开发者提供了更便利的环境和更高效的开发体验。 ### 回答3: Qt 6 是Qt公司发布的最新版本,如果你想使用Qt 6来开发应用程序,它需要进行一些编译操作。虽然Qt 6也提供了预编译的二进制文件供下载使用,但是如果你有定制的需求或者想要更深入地了解Qt的内部工作原理,那么自己编译Qt 6是很有必要的。 要编译Qt 6,你需要先下载Qt的源代码,这可以在Qt公司的官方网站上找到。然后,根据你所使用的操作系统和编译工具,按照Qt提供的编译指南进行操作,逐步编译生成Qt 6的可执行文件和库文件。这个过程可能需要一些时间和计算资源,取决于你的机器配置和编译选项。 自己编译Qt 6的好处是你可以根据自己的需要选择特定的组件和功能,以及调整编译选项来满足特定的项目要求。此外,自己编译也可以帮助你更好地理解Qt的内部机制和工作方式,方便你在开发过程中进行调试和优化。 当然,如果你只是想快速开始Qt 6的开发,而不关注定制和深入理解,那么直接使用Qt公司提供的预编译包也是一个很好的选择。这可以帮助你节省时间和精力,迅速开始Qt 6的开发工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FreeLikeTheWind.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值