我在qt5中创建了一个控制台程序,它应该在运行之前从控制台获取参数。
这是我使用从控制台传递的参数的代码的一部分:
void foo::start(){
if(arguments.contains(--help))
show help function
else if (arguments.contains(--ipinfo))
show ip info function
else if (arguments.contains(--time))
show time info function
else
nothing
}
我的程序名称为initlizer
。当我通过带有参数的控制台运行我的程序时,我想使用qt5从控制台获取参数。例如:
$initlizer --help >> show help function
$initlizer --time >> show time function
答案 0 :(得分:2)
" Qt方式"处理命令行参数是将main的argc和argv传递给QCoreApplication构造函数,然后使用QCommandLineParser来查询参数。 (该链接包含大量示例代码。)
答案 1 :(得分:1)
在C ++中将参数传递给控制台程序,必须在源代码主函数中添加参数。主函数中的这些参数决定了他在接收和接收时使用的输入值。
例如:
这是非参数主函数的一个例子:
public int main () { // Functions body. }
这是一个接收字符串作为输入的主函数的示例:
public int main (int argc, char * argv[]) { // Functions body. }
这是一个主函数的示例,它接收多个参数作为输入:
public int main (int argc, char * argv[], // other parameters) { // Functions body. }
要以Qt方式执行此操作,您必须在实例化QCoreApplication
时在app
构造函数中定义参数,然后使用QCommandLineParser
来获取控制台传递的参数。
请参阅此page的详细说明部分中的示例。
您可以从此page获取有关main函数中参数的更多信息。