问题标签 [qcommandlineparser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
13928 浏览

c++ - How to use QCommandLineParser for arguments with multiple params?

I wonder, how can I use multiple- or sub-arguments with QCommandLineParser? For example:

0 投票
1 回答
1675 浏览

c++ - 将多个解析值传递给 addPositionalArgument 函数

我正在研究如何解析命令行参数。我找到了这个:

这工作正常。但是如何为字符串值添加两个值?例如,foo --source ...应该与foo -s ....

我试过了:

但这会引发错误:

这可能addPositionalArgument需要一个字符串而不是字符串列表。

但是我怎样才能给两个值加上别名呢?

0 投票
0 回答
249 浏览

c++ - 接受完整的命令作为命令行参数

我正在编写一个接受辅助 shell 命令作为其最终参数的实用程序。然后我的实用程序代表用户运行提供的 shell 命令。用户将按如下方式调用它:

我希望 QCommandLineParser 解析初始选项,然后不理会尾部内容(或将其解析为纯值列表)。相反,QCommandLineParser 抱怨用户输入了无效的参数。

例如,如果用户要输入

thenls -l是我想接受的有效命令,但 Qt 告诉用户这-l是我的应用程序的无效参数。处理这个问题的最佳方法是什么?

0 投票
1 回答
757 浏览

c++ - QCommandLineOption 读取输入文件

我正在编写使用 QCommandLineOption 读取输入文件(在本例中为 jpg 文件)的代码。我试图围绕如何正确添加文件路径和名称来访问数据,但它不起作用。这是代码:

我得到“!面具未设置,必须设置!” 编译时,这意味着字符串 maskFileName 为空。有任何想法吗 ?

0 投票
0 回答
395 浏览

c++ - QCommandLineParser:如果处理了内置选项,则暂停执行

我正在开发一个 Qt 5.x 应用程序,其主要功能或多或少类似于(简化):

当我在命令行上调用指定--version(或--help)选项的应用程序执行时遇到了一些问题:应用程序输出版本(或帮助),然后有时以分段错误终止......

我认为这是因为当检测到命令行(或)QCommandLineParser上的内置选项时,只需调用's来终止执行,这会干扰我自己的(基本上一些其他线程已启动,并且可能过早调用原因一些问题)...--version--helpQApplicationexit()*** SOME INITIALIZATION STUFF ***exit()

*** SOME INITIALIZATION STUFF ***但是,我的问题是:如果在命令行上检测到内置选项,是否可以让 Qt 避免在我的应用程序中走得更远?换句话说,是否有一种方法可以调用来知道命令行解析器已检测到内置选项?否则:是否有一种方法可以知道exit()已在应用程序上调用,因此应用程序正在终止?如果是这样,将我*** SOME INITIALIZATION STUFF ***if条件包含在对该方法的争论中就足够了,这很好......

感谢您的支持。


>> 编辑 <<

我已经做了一些进一步的调查......行为似乎不依赖于我自己*** SOME INITIALIZATION STUFF ***......事实上,即使是“最小、完整和可验证的示例”,因为以下示例有时会在触发可执行文件时以分段错误终止执行在--version命令行上:

澄清一下,我在运行 Linux 操作系统的 ARM 设备上使用 Qt 5.3.2。

0 投票
3 回答
17345 浏览

c# - 在 C# 中解析命令行参数/选项

我有一个带有一些参数和选项的控制台应用程序,所以我想使用一个免费的第三方库。

为此,我找到了两个库:NDesk.Options命令行解析器库

最后我决定使用命令行解析器库,因为使用属性更清晰,所以我下载了它并添加了对它的引用。

问题是在添加对我的 .NET Framework 3.5 项目的引用时,我得到一个警告图标。从我下载的上面的页面中,它说兼容性是 .NET Framework 3.5+,所以我理解 3.5 是兼容的,对吗?如果不是,它的哪个先前版本与 .NET Framework 3.5 兼容?

0 投票
1 回答
1008 浏览

qt - qt5 QCommandLineParser 所需值

我有这个代码:

当我这样称呼它时:

有用。

当我这样称呼它时:

我看到一条错误消息“...之后缺少值”,这是预期的

但是当我这样称呼它时:

该字符串--boolean-option被解释为--required-value-option!!! 这不是我所期望的。这应该会触发错误。

如何使用 QCommandLineParser 正确解析具有所需值的选项?

UPD:如果您在 Qt 应用程序中为选项使用一些必需的值 - 您可以对其进行测试。

UPD2:当前行为例如:--no-gui 布尔选项和--output-file 必需的文件选项。像猴子一样运行它:

哇!应用程序以 gui 开头并显示“--no-gui 文件不存在”。干得好人!

UPD3:好的。我想将注册的选项解释为选项,而不是以前选项的值。示例:--no-gui 可以是有效的文件名,但由于这是已注册的选项,解析器不应将其用作值。

0 投票
1 回答
1307 浏览

c++ - QCommandLineParser 向参数添加功能

我是 Qt 框架的新手,我正在使用QCommandLineParser编写一个简单的控制台应用程序来处理一些参数,例如:

或者

我怎么能理解用户输入了一个参数?我想为参数添加功能。

这是我的代码:

0 投票
2 回答
286 浏览

c++ - 如何在 QCommandLineParser 中使用文件名通配符

Windows 中的 QCommandLineParser 和文件名通配符有问题吗?

我在 Windows 上使用 Qt 5.8.0 开源来构建控制台应用程序。我正在尝试构建一个接受文件名通配符的命令行实用程序。这似乎不起作用,因为它依赖于 process() 方法。

主.cpp

myapp.pro

当我使用命令时:

myapp somefile.txt

我明白了somefile.txt

但这不适用于以下命令:

myapp *.txt

解决这个问题的最佳方法是什么?

0 投票
1 回答
103 浏览

qt - 如何将 QCommandLineParser 的实例化传递给 Qt 中的函数?

目前我有一个工作的 Qt 命令行应用程序。但是,我需要重构这个工作程序,以便我的 QCommandLineParser 对象在类方法中而不是在 main() 本身中配置。我已经尝试了明显的:

在 ExecuteTask.h 中:

在 ExecuteTask.cpp 中:

在 main.cpp 中:

但是,我收到此错误(附加在链接中): 编译错误

我还尝试将 QCommandLineParser 解析器声明为 ExecuteTask.h 中的指针,但显然这会在您必须运行时导致问题:

主要。我实际上也尝试过传递QCoreApplication app给我的 setUp 函数以parser.process(app)在我的setUp()方法中运行,但这带来了类似的“......在此上下文中是私有的”。

还尝试了另一种解决方案,其中声明QCommandLineParser parser为指针并使用getParser()方法在 main 中返回解析器,但这会导致类似的“私有”问题。

-- 不知道从哪里开始,因为我习惯了 C++,只是将 argc 和 argv 传递给方法,但这与 Qt 不同。

那么有没有一种方法可以将 QCommandLineParser 传递给 main() 之外的方法?文档对我帮助不大,几乎我遇到的每个教程都在 main() 中完成了所有配置,这根本不是我想做的。