C++ 如何将Qt GUI应用程序的版本打印到控制台
我有一个使用Qt小部件编写的GUI应用程序。我已经添加了版本控制,我还计划编写一个更新管理器。为了使其工作,更新管理器必须能够确定我的应用程序的版本。我想通过使用版本切换运行我的应用程序,然后解析它的输出来实现这一点。我做了一项研究,发现Qt有某种内置的解决方案 以下是一个例子:C++ 如何将Qt GUI应用程序的版本打印到控制台,c++,qt,versioning,C++,Qt,Versioning,我有一个使用Qt小部件编写的GUI应用程序。我已经添加了版本控制,我还计划编写一个更新管理器。为了使其工作,更新管理器必须能够确定我的应用程序的版本。我想通过使用版本切换运行我的应用程序,然后解析它的输出来实现这一点。我做了一项研究,发现Qt有某种内置的解决方案 以下是一个例子: #include "mainwindow.h" #include <QApplication> #include <QCommandLineParser> int main(int argc,
#include "mainwindow.h"
#include <QApplication>
#include <QCommandLineParser>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QApplication::setApplicationVersion("1.0.0");
QCommandLineParser parser;
auto versionOption = parser.addVersionOption();
parser.process(app);
if (parser.isSet(versionOption))
{
MainWindow w;
w.show();
return app.exec();
}
return 0;
}
#包括“mainwindow.h”
#包括
#包括
int main(int argc,char*argv[])
{
QApplication应用程序(argc、argv);
QApplication::setApplicationVersion(“1.0.0”);
QCommandLineParser;
auto versionOption=parser.addVersionOption();
进程(app);
if(parser.isSet(versionOption))
{
主窗口w;
w、 show();
返回app.exec();
}
返回0;
}
如果使用-v或--version命令行开关启动此应用程序,我会收到一个包含版本信息的消息框
我需要实现同样的功能,只需将信息打印到标准输出即可。如果应用程序是使用版本开关启动的,则应仅在控制台中显示该版本,然后关闭
如何使用GUI应用程序将版本信息打印到标准控制台输出?当我们清除了评论中的一些要点时,让我们继续。;) 请查看文档()。在详细信息部分,您将看到一种正确解析和处理命令行选项的方法 在这里()您可以看到写入标准输出的可能性。请注意
QDebug
警告
在我看来,坚持使用文本文件。您可以在使用qmake构建时使用变量
VERSION
,也可以使用变量QApplication::setApplicationVersion(QString)
,当我们清除注释中的一些要点时,让我们继续。;)
请查看文档()。在详细信息部分,您将看到一种正确解析和处理命令行选项的方法
在这里()您可以看到写入标准输出的可能性。请注意QDebug
警告
在我看来,坚持使用文本文件。您可以使用变量
VERSION
在使用qmake构建时生成它,您也可以使用变量QApplication::setApplicationVersion(QString)
那么Qt安装程序框架呢?它为已部署的应用程序提供更新功能,就像您从Qt安装中了解的一样。我宁愿实现一个简单的解决方案,然后增加复杂性,而不是使用现成的解决方案并试图找出代码背后的原因。很好,您的选择。那么,为什么不使用一个简单的文本文件,其中包含驻留在应用程序目录中的当前版本。这也可能是一个解决方案,如果我的原始问题仍然没有答案,我将使用它。Qt安装程序框架呢?它为已部署的应用程序提供更新功能,就像您从Qt安装中了解的一样。我宁愿实现一个简单的解决方案,然后增加复杂性,而不是使用现成的解决方案并试图找出代码背后的原因。很好,您的选择。那么为什么不使用一个简单的文本文件,其中包含驻留在应用程序目录中的当前版本。这也可能是一个解决方案,如果我的原始问题仍然没有答案,我将使用它。是的。我做了一些进一步的研究,这似乎是目前为止最好的方法。Qt的好处是,做研究工作,因为有文档。;)对我做了一些进一步的研究,这似乎是目前为止最好的方法。Qt的好处是,做研究工作,因为有文档。;)