本文整理汇总了C++中qstringlist::const_iterator::toLocal8Bit方法的典型用法代码示例。如果您正苦于以下问题:C++ const_iterator::toLocal8Bit方法的具体用法?C++ const_iterator::toLocal8Bit怎么用?C++ const_iterator::toLocal8Bit使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qstringlist::const_iterator
的用法示例。
在下文中一共展示了const_iterator::toLocal8Bit方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: parseCommandLineArgs
bool QDesigner::parseCommandLineArgs(QStringList &fileNames, QString &resourceDir)
{
const QStringList args = arguments();
const QStringList::const_iterator acend = args.constEnd();
QStringList::const_iterator it = args.constBegin();
for (++it; it != acend; ++it) {
const QString &argument = *it;
do {
// Arguments
if (!argument.startsWith(QLatin1Char('-'))) {
if (!fileNames.contains(argument))
fileNames.append(argument);
break;
}
// Options
if (argument == QStringLiteral("-server")) {
m_server = new QDesignerServer();
printf("%d\n", m_server->serverPort());
fflush(stdout);
break;
}
if (argument == QStringLiteral("-client")) {
bool ok = true;
if (++it == acend) {
qWarning("** WARNING The option -client requires an argument");
return false;
}
const quint16 port = it->toUShort(&ok);
if (ok) {
m_client = new QDesignerClient(port, this);
} else {
qWarning("** WARNING Non-numeric argument specified for -client");
return false;
}
break;
}
if (argument == QStringLiteral("-resourcedir")) {
if (++it == acend) {
qWarning("** WARNING The option -resourcedir requires an argument");
return false;
}
resourceDir = QFile::decodeName(it->toLocal8Bit());
break;
}
if (argument == QStringLiteral("-enableinternaldynamicproperties")) {
QDesignerPropertySheet::setInternalDynamicPropertiesEnabled(true);
break;
}
const QString msg = QString::fromUtf8("** WARNING Unknown option %1").arg(argument);
qWarning("%s", qPrintable(msg));
} while (false);
}
return true;
}
示例2:
static std::ostream& operator<<( std::ostream& stream, const QStringList& list )
{
stream << "QStringList(";
for( QStringList::const_iterator it = list.begin(); it != list.end(); ++it )
{
stream << " " << it->toLocal8Bit().data();
if( it + 1 != list.end() )
stream << ",";
}
stream << " )";
return stream;
}
示例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;
}