本文整理汇总了C++中qstringlist::const_iterator::contains方法的典型用法代码示例。如果您正苦于以下问题:C++ const_iterator::contains方法的具体用法?C++ const_iterator::contains怎么用?C++ const_iterator::contains使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qstringlist::const_iterator
的用法示例。
在下文中一共展示了const_iterator::contains方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: parseString
void Chatbox::parseString(QString str) {
if (str[0] != '!') {
emit message(str);
return;
}
str[0] = ' ';
str = str.trimmed().toLower();
QStringList list = str.split(QRegExp("\\s+"));
QStringList::const_iterator it = list.begin();
if (it->contains(rgxPos)) {
emit playStone(Position(*it));
} else if (*it == "pass" || *it == "p") {
emit pass();
} else if (*it == "undo" || *it == "u") {
emit undo();
} else if (*it == "kill" || *it == "k") {
if (++it == list.end() || !it->contains(rgxPos))
display("Expected position as second argument.");
else
emit kill(Position(*it));
} else if (*it == "exit" || *it == "e") {
emit exit();
} else if (*it == "connect" || *it == "c") {
if (++it != list.end()) {
emit setHost(*it);
if (++it != list.end()) {
emit setPort(it->toInt());
}
}
emit cl_connect();
} else if (*it == "disconnect" || *it == "dc") {
emit cl_disconnect();
} else if (*it == "yes" || *it == "y") {
emit confirm(true);
} else if (*it == "no" || *it == "n") {
emit confirm(false);
} else if (*it == "save" || *it == "s") {
if (++it == list.end())
display("Expected filename as second argument.");
else
emit writeLogToDisk(*it);
} else if (*it == "help" || *it == "h" ) {
display("4DGo -- A four-dimensional goban for online play.");
display("All commands start with a '!'. Any input that does not is treated as a chat message. All comands are case-insensitive.");
display(" Commands:");
display("!connect [hostname] [port]: connect to the game server. By default, localhost:15493 will be used.");
display("!disconnect: break connection to server and clear the goban.");
display("!A4d4: on slice A4 (top-left), on intersection d4 (top-right).");
display("!pass: end your turn without playing a stone.");
display("!undo: request that your last move be undone.");
display("!yes: allow the action your opponent requested (usually an undo or kill).");
display("!yes: refuse to allow the action your opponent requested (usually an undo or kill).");
display("!kill: request a certain group to be immediately taken off the board. Useful in endgame, to not need to play out all captures.");
display("!save filename: save the current history to file filename.");
display("!exit: disconnect and close the window.");
} else {
tbCBox_->append(QString("Unknown command: ")+*it);
}
}
示例2: readSettings
void QgsCoordinateTransformContext::readSettings()
{
d.detach();
d->mLock.lockForWrite();
d->mSourceDestDatumTransforms.clear();
#if 0
d->mSourceDatumTransforms.clear();
d->mDestDatumTransforms.clear();
#endif
QgsSettings settings;
settings.beginGroup( QStringLiteral( "/Projections" ) );
QStringList projectionKeys = settings.allKeys();
//collect src and dest entries that belong together
QMap< QPair< QString, QString >, QPair< int, int > > transforms;
QStringList::const_iterator pkeyIt = projectionKeys.constBegin();
for ( ; pkeyIt != projectionKeys.constEnd(); ++pkeyIt )
{
if ( pkeyIt->contains( QLatin1String( "srcTransform" ) ) || pkeyIt->contains( QLatin1String( "destTransform" ) ) )
{
QStringList split = pkeyIt->split( '/' );
QString srcAuthId, destAuthId;
if ( ! split.isEmpty() )
{
srcAuthId = split.at( 0 );
}
if ( split.size() > 1 )
{
destAuthId = split.at( 1 ).split( '_' ).at( 0 );
}
QString proj = settings.value( *pkeyIt ).toString();
Q_NOWARN_DEPRECATED_PUSH
int datumId = QgsDatumTransform::projStringToDatumTransformId( proj );
Q_NOWARN_DEPRECATED_POP
if ( pkeyIt->contains( QLatin1String( "srcTransform" ) ) )
{
transforms[ qMakePair( srcAuthId, destAuthId )].first = datumId;
}
else if ( pkeyIt->contains( QLatin1String( "destTransform" ) ) )
{
transforms[ qMakePair( srcAuthId, destAuthId )].second = datumId;
}
}
}
示例3: init
bool CliParser::init(const QStringList &args) {
argsRaw = args;
QStringList::const_iterator currentArg;
for (currentArg = argsRaw.constBegin(); currentArg != argsRaw.constEnd(); ++currentArg) {
if(currentArg->startsWith("--")) {
// long
QString name;
if(currentArg->contains("=")) {
// option
QStringList tmp = currentArg->mid(2).split("=");
name = tmp.at(0);
QString value;
// this is needed to allow --option=""
if(tmp.at(1).isNull()) value = QString("");
else value = tmp.at(1);
if(!addLongArg(CliParserArg::CliArgOption, name, value)) return false;
}
else {
// switch
name = currentArg->mid(2);
if(!addLongArg(CliParserArg::CliArgSwitch, name)) return false;
}
}
else if(currentArg->startsWith("-")) {
// short
char name;
QStringList::const_iterator nextArg = currentArg+1;
// if next arg is a short/long option/switch the current arg is one too
if(nextArg == argsRaw.constEnd() || nextArg->startsWith("-")) {
// switch
for (int i = 0; i < currentArg->mid(1).toAscii().size(); i++) {
name = currentArg->mid(1).toAscii().at(i);
if(!addShortArg(CliParserArg::CliArgSwitch, name)) return false;
}
}
// if next arg is is no option/switch it's an argument to a shortoption
else {
// option
// short options are not freely mixable with other shortargs
if(currentArg->mid(1).toAscii().size() > 1) {
qWarning() << "Warning: Shortoptions may not be combined with other shortoptions or switches";
return false;
}
QString value;
bool skipNext = false;
if(nextArg != argsRaw.constEnd()) {
value = nextArg->toLocal8Bit();
skipNext = true;
}
else value = currentArg->toLocal8Bit();
name = currentArg->mid(1).toAscii().at(0);
// we took one argument as argument to an option so skip it next time
if(skipNext) currentArg++;
if(!addShortArg(CliParserArg::CliArgOption, name, value)) return false;
}
}
else {
// we don't support plain arguments without -/--
if(currentArg->toLatin1() != argsRaw.at(0)) return false;
}
}
return true;
}