Qt命令行传参的问题

a15630176380 2017-09-18 04:38:12
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
QStringList args = QCoreApplication::arguments();
qDebug()<<args;

if (args.count() != 2) {
std::cerr << "Usage: ftpget url" << std::endl
<< "Example:" << std::endl
<< " ftpget ftp://ftp.trolltech.com/mirrors"
<< std::endl;
return 1;
}

FtpGet getter;
if (!getter.getFile(QUrl(args[1])))
qDebug()<<"2";
return 1;


QObject::connect(&getter, SIGNAL(done()), &app, SLOT(quit()));

return app.exec();
}
怎么才能把参数传进去呢,我qDebug 了那个args 出来的东西是不是就是参数?
...全文
391 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Chen_QiDian 2017-09-22
  • 打赏
  • 举报
回复
引用 2 楼 a15630176380 的回复:
[quote=引用 1 楼 Chen_QiDian 的回复:] qDebug打印log使用。 qDebug()<<args;作用就是打印args的内容。 所以args就是qDebug()方法的参数
不是,我不是问qDebug()方法的参数,我是说qDebug方法下面那个args.count()那个args 获取的是哪里的参数[/quote] 看你程序,args是QStringList类型。QStringList继承QList。 QList::count()就是你调用的函数方法。 所以args是一个类的实例对象,你使用的cout方法是获取args中元素个数,不需要参数。
酱油党 2017-09-19
  • 打赏
  • 举报
回复
http://blog.csdn.net/liang19890820/article/details/51832469 看下这个,这个参数可以从命令行启动程序的时候传入。也可以在Qt Creator构建和运行中传入。 通常意义上都是我说的第一种,因为客户机器上并不一定会有Qt环境。 其实质就是 cmd.exe启动你的程序,并将参数传递给你启动的程序。
a15630176380 2017-09-19
  • 打赏
  • 举报
回复
引用 1 楼 Chen_QiDian 的回复:
qDebug打印log使用。 qDebug()<<args;作用就是打印args的内容。 所以args就是qDebug()方法的参数
不是,我不是问qDebug()方法的参数,我是说qDebug方法下面那个args.count()那个args 获取的是哪里的参数
Chen_QiDian 2017-09-19
  • 打赏
  • 举报
回复
qDebug打印log使用。 qDebug()<<args;作用就是打印args的内容。 所以args就是qDebug()方法的参数

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧