Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何将Qt GUI应用程序的版本打印到控制台_C++_Qt_Versioning - Fatal编程技术网

C++ 如何将Qt GUI应用程序的版本打印到控制台

C++ 如何将Qt GUI应用程序的版本打印到控制台,c++,qt,versioning,C++,Qt,Versioning,我有一个使用Qt小部件编写的GUI应用程序。我已经添加了版本控制,我还计划编写一个更新管理器。为了使其工作,更新管理器必须能够确定我的应用程序的版本。我想通过使用版本切换运行我的应用程序,然后解析它的输出来实现这一点。我做了一项研究,发现Qt有某种内置的解决方案 以下是一个例子: #include "mainwindow.h" #include <QApplication> #include <QCommandLineParser> int main(int argc,

我有一个使用Qt小部件编写的GUI应用程序。我已经添加了版本控制,我还计划编写一个更新管理器。为了使其工作,更新管理器必须能够确定我的应用程序的版本。我想通过使用版本切换运行我的应用程序,然后解析它的输出来实现这一点。我做了一项研究,发现Qt有某种内置的解决方案

以下是一个例子:

#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的好处是,做研究工作,因为有文档。;)