QT 中获取 git版本信息

一个关于Qt和git的问题

今天小刘问我,“我想在qt中获取git的版本信息,但是不想改代码怎么办?”

答,“那就改一下*.pro文件,从这个文件获取,你网上搜一下,我之前写过一篇关于cmake和git的,应该类似”

小刘,“搜了半天没有啊!!”

答,“你怎么搜的?搜的啥关键字?”

小刘,“怎么在qt pro中获取git信息啊!”

我,“小刘,你可真直接。。。。”

好吧,这个问题本质上应该说是怎么在qmake中运行程序的问题,即,关键字 应该是 qmake call command

qmake 中获取git版本信息

  1. 编写*.pro
    可以看到,我们实际上是通过在*.pro中调用了qmake的函数system,通过其运行了需要的git命令,所以这个方法不局限于获取git版本信息。
exists (./.git) {
    GIT_BRANCH   = $$system(git rev-parse --abbrev-ref HEAD)
    GIT_TIME     = $$system(git show --oneline --format=\"%ci%H\" -s HEAD)


    APP_VERSION = "TEST $${GIT_BRANCH}: $${GIT_TIME}"
} else {
    APP_VERSION     = None
}

DEFINES += APP_VERSION=\"\\\"$$APP_VERSION\\\"\"
  1. 将版本信息显示到窗口标题
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    setWindowTitle(APP_VERSION); // APP_VERSION 就是在*.pro中定义的宏
}
  1. 程序运行结果
    在这里插入图片描述

qmake的其他内置function

qmake还有其他function也很有用,qmake的其他内置function

猜你喜欢

转载自blog.csdn.net/iceboy314159/article/details/106028230
今日推荐