如何将 Qt GUI 应用程序的版本打印到控制台
How to print version of a Qt GUI application to console
我有一个使用 Qt Widgets 编写的 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;
}
如果我使用 -v 或 --version 命令行开关启动此应用程序,我会收到一个包含版本信息的消息框。
我需要实现相同的目的,只是信息应该打印到标准输出。如果使用版本开关启动应用程序,它应该只在控制台中显示版本然后关闭。
如何使用 GUI 应用程序将版本信息打印到标准控制台输出?
我们清除了评论中的一些要点,让我们继续。 ;)
查看文档 (http://doc.qt.io/qt-5/qapplication.html#details)。在详细信息部分,您会看到如何正确解析和处理命令行选项的明智方法。
在这里 () 您可以看到写入标准输出的可能性。注意 QDebug
警告。
在我看来,坚持使用文本文件。您可以在 qmake 构建期间使用变量 VERSION
生成它,您也可以将其与 QApplication::setApplicationVersion(QString)
.
一起使用
我有一个使用 Qt Widgets 编写的 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;
}
如果我使用 -v 或 --version 命令行开关启动此应用程序,我会收到一个包含版本信息的消息框。
我需要实现相同的目的,只是信息应该打印到标准输出。如果使用版本开关启动应用程序,它应该只在控制台中显示版本然后关闭。
如何使用 GUI 应用程序将版本信息打印到标准控制台输出?
我们清除了评论中的一些要点,让我们继续。 ;)
查看文档 (http://doc.qt.io/qt-5/qapplication.html#details)。在详细信息部分,您会看到如何正确解析和处理命令行选项的明智方法。
在这里 () 您可以看到写入标准输出的可能性。注意 QDebug
警告。
在我看来,坚持使用文本文件。您可以在 qmake 构建期间使用变量 VERSION
生成它,您也可以将其与 QApplication::setApplicationVersion(QString)
.