参数:server=192.168.0.128&port=6431&ssname=41&loginname=imz&valid_type=0&valid_code=root123
qtcreator Run运行中有行Command line arguments 参数传递的列表,此处参数传递的列表在main函数通过arguments进行获取
//获取命令行参数
QStringList arguments = QCoreApplication::arguments();
if(arguments.count()<2)
return;
QString strArgument = arguments.at(1);
qInfo()<<LINE<<strArgument;
//将得到的参数通过QUrlQuery进行接受(QUrlQuery的用法https://www.freesion.com/article/56921228249/)
AntServerInfo server;
QUrlQuery query;
query.setQuery(strArgument);
server.host = query.queryItemValue(“server”);
server.port = query.queryItemValue(“port”).toInt();
server.domain = query.queryItemValue(“ssname”);
server.userName = query.queryItemValue(“loginname”);
server.password = query.queryItemValue(“valid_code”);
//数据我定义在了一个类中,也可以写成结构体
class AntServerInfo
{
public:
QString host;
int port=6661;
QString domain;
QString userName;
QString password;
}
此方式可以通过接收外部参数通过 app.exe … 调用起程序,做协议启动等操作