本文整理汇总了C++中qstringlist::iterator::startsWith方法的典型用法代码示例。如果您正苦于以下问题:C++ iterator::startsWith方法的具体用法?C++ iterator::startsWith怎么用?C++ iterator::startsWith使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qstringlist::iterator
的用法示例。
在下文中一共展示了iterator::startsWith方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
const QString&
CLArgs::getImageFilename() const
{
if ( _imp->imageFilename.isEmpty() && !_imp->args.empty() ) {
///Check for image file passed to command line
QStringList::iterator it = _imp->args.begin();
// first argument is the program name, skip it
++it;
for (; it != _imp->args.end(); ++it) {
if ( !it->startsWith( QChar::fromLatin1('-') ) ) {
QString fileCopy = *it;
QString ext = QtCompat::removeFileExtension(fileCopy);
if ( !ext.isEmpty() ) {
std::string readerId = appPTR->isImageFileSupportedByNatron( ext.toStdString() );
if ( !readerId.empty() ) {
_imp->imageFilename = *it;
_imp->args.erase(it);
break;
}
}
}
}
}
return _imp->imageFilename;
}
示例2: slotPasteAsQuotation
void ComposerTextEdit::slotPasteAsQuotation()
{
QString text = qApp->clipboard()->text();
if (text.isEmpty())
return;
QStringList lines = text.split(QLatin1Char('\n'));
for (QStringList::iterator it = lines.begin(); it != lines.end(); ++it) {
it->remove(QLatin1Char('\r'));
if (it->startsWith(QLatin1Char('>'))) {
*it = QLatin1Char('>') + *it;
} else {
*it = QLatin1String("> ") + *it;
}
}
text = lines.join(QStringLiteral("\n"));
if (!text.endsWith(QLatin1Char('\n'))) {
text += QLatin1Char('\n');
}
QTextCursor cursor = textCursor();
cursor.beginEditBlock();
cursor.insertBlock();
cursor.insertText(text);
cursor.endEditBlock();
setTextCursor(cursor);
}
示例3: main
int main( int argc, char *argv[] )
{
#ifdef _IS_UNIX_
signal(SIGQUIT,onSigQuit);
signal(SIGINT,onSigQuit);
#endif
QApplication app( argc, argv );
app.setWindowIcon( QIcon(":images/gmic_hat.png") );
QCoreApplication::setOrganizationName("GREYC");
QCoreApplication::setOrganizationDomain("greyc.fr");
QCoreApplication::setApplicationName("ZArt");
QStringList args = app.arguments();
QStringList::iterator it = args.begin();
while (it != args.end()) {
if ( it->startsWith("-h") || it->startsWith("--help") ) {
cout << "Usage:" << endl
<< " "
<< QFileInfo(argv[0]).baseName().toLatin1().constData()
<< " [options]" << endl
<< " " << "Options: " << endl
<< " --help | -h : print this help." << endl
<< endl;
exit(EXIT_SUCCESS);
}
++it;
}
QSplashScreen splashScreen(QPixmap(":/images/splash.png"));
splashScreen.show();
app.processEvents();
WebcamSource::retrieveWebcamResolutions(WebcamSource::getWebcamList(),
&splashScreen);
if ( ! gmic::init_rc() ) {
cerr << "[ZArt] Warning: Could not create resources directory.\n";
}
MainWindow mainWindow;
mainWindow.show();
splashScreen.finish(&mainWindow);
return app.exec();
}
示例4: SetDirs
void VideoScannerThread::SetDirs(QStringList dirs)
{
QString master = gCoreContext->GetMasterHostName().toLower();
QStringList searchhosts, mdirs;
m_offlineSGHosts.clear();
QStringList::iterator iter = dirs.begin(), iter2;
while ( iter != dirs.end() )
{
if (iter->startsWith("myth://"))
{
QUrl sgurl = *iter;
QString host = sgurl.host().toLower();
QString path = sgurl.path();
if (!m_liveSGHosts.contains(host))
{
// mark host as offline to warn user
if (!m_offlineSGHosts.contains(host))
m_offlineSGHosts.append(host);
// erase from directory list to skip scanning
iter = dirs.erase(iter);
continue;
}
else if ((host == master) && (!mdirs.contains(path)))
// collect paths defined on master backend so other
// online backends can be set to fall through to them
mdirs.append(path);
else if (!searchhosts.contains(host))
// mark host as having directories defined so it
// does not fall through to those on the master
searchhosts.append(host);
}
++iter;
}
for (iter = m_liveSGHosts.begin(); iter != m_liveSGHosts.end(); ++iter)
if ((!searchhosts.contains(*iter)) && (master != *iter))
for (iter2 = mdirs.begin(); iter2 != mdirs.end(); ++iter2)
// backend is online, but has no directories listed
// fall back to those on the master backend
dirs.append(gCoreContext->GenMythURL(*iter,
0, *iter2, "Videos"));
m_directories = dirs;
}
示例5: parseOption
EngineOption* XboardEngine::parseOption(const QString& line)
{
int start = line.indexOf('-');
if (start < 2)
return 0;
QString name(line.left(start - 1));
start++;
int end = line.indexOf(' ', start);
if (end == -1)
end = line.length();
QString type(line.mid(start, end - start));
if (type == "button" || type == "save")
return new EngineButtonOption(name);
if (type == "check")
{
bool value = line.mid(end + 1) == "1";
return new EngineCheckOption(name, value, value);
}
if (type == "string" || type == "file" || type == "path")
{
QString value(line.mid(end + 1));
EngineTextOption::EditorType editorType;
if (type == "file")
editorType = EngineTextOption::FileDialog;
else if (type == "path")
editorType = EngineTextOption::FolderDialog;
else
editorType = EngineTextOption::LineEdit;
return new EngineTextOption(name, value, value, QString(), editorType);
}
if (type == "spin" || type == "slider")
{
QStringList params(line.mid(end + 1).split(' ', QString::SkipEmptyParts));
if (params.size() != 3)
return 0;
bool ok = false;
int value = params.at(0).toInt(&ok);
if (!ok)
return 0;
int min = params.at(1).toInt(&ok);
if (!ok || min > value)
return 0;
int max = params.at(2).toInt(&ok);
if (!ok || max < value)
return 0;
return new EngineSpinOption(name, value, value, min, max);
}
if (type == "combo")
{
QStringList choices = line.mid(end + 1).split(" /// ", QString::SkipEmptyParts);
if (choices.isEmpty())
return 0;
QString value;
QStringList::iterator it;
for (it = choices.begin(); it != choices.end(); ++it)
{
if (it->startsWith('*'))
{
it->remove(0, 1);
value = *it;
}
}
if (value.isEmpty())
value = choices.first();
return new EngineComboOption(name, value, value, choices);
}
return 0;
}
示例6: application
//.........这里部分代码省略.........
if (height < 450) height = (available.height() * 2) / 3;
if (width > height * 2) width = height * 2;
settings.beginGroup("MainWindow");
QSize size = settings.value("size", QSize(width, height)).toSize();
gui->resizeConstrained(size);
if (settings.contains("position")) {
QRect prevrect(settings.value("position").toPoint(), size);
if (!(available & prevrect).isEmpty()) {
gui->move(prevrect.topLeft());
}
}
if (settings.value("maximised", false).toBool()) {
gui->setWindowState(Qt::WindowMaximized);
}
settings.endGroup();
gui->show();
// The MainWindow class seems to have trouble dealing with this if
// it tries to adapt to this preference before the constructor is
// complete. As a lazy hack, apply it explicitly from here
gui->preferenceChanged("Property Box Layout");
application.m_readyForFiles = true; // Ready to receive files from e.g. Apple Events
for (QStringList::iterator i = args.begin(); i != args.end(); ++i) {
if (i == args.begin()) continue;
if (i->startsWith('-')) continue;
QString path = *i;
application.handleFilepathArgument(path, splash);
}
for (QStringList::iterator i = application.m_filepathQueue.begin(); i != application.m_filepathQueue.end(); ++i) {
QString path = *i;
application.handleFilepathArgument(path, splash);
}
#ifdef HAVE_FFTW3F
settings.beginGroup("FFTWisdom");
QString wisdom = settings.value("wisdom").toString();
if (wisdom != "") {
fftwf_import_wisdom_from_string(wisdom.toLocal8Bit().data());
}
#ifdef HAVE_FFTW3
wisdom = settings.value("wisdom_d").toString();
if (wisdom != "") {
fftw_import_wisdom_from_string(wisdom.toLocal8Bit().data());
}
#endif
settings.endGroup();
#endif
if (splash) splash->finish(gui);
delete splash;
/*
TipDialog tipDialog;
if (tipDialog.isOK()) {
示例7: query
MixxxLibraryFeature::MixxxLibraryFeature(QObject* parent,
TrackCollection* pTrackCollection,
ConfigObject<ConfigValue>* pConfig)
: LibraryFeature(parent),
kMissingTitle(tr("Missing Tracks")),
kHiddenTitle(tr("Hidden Tracks")),
m_pMissingView(NULL),
m_pHiddenView(NULL),
m_trackDao(pTrackCollection->getTrackDAO()),
m_pConfig(pConfig),
m_pTrackCollection(pTrackCollection) {
QStringList columns;
columns << "library." + LIBRARYTABLE_ID
<< "library." + LIBRARYTABLE_PLAYED
<< "library." + LIBRARYTABLE_TIMESPLAYED
//has to be up here otherwise Played and TimesPlayed are not show
<< "library." + LIBRARYTABLE_ARTIST
<< "library." + LIBRARYTABLE_TITLE
<< "library." + LIBRARYTABLE_ALBUM
<< "library." + LIBRARYTABLE_ALBUMARTIST
<< "library." + LIBRARYTABLE_YEAR
<< "library." + LIBRARYTABLE_DURATION
<< "library." + LIBRARYTABLE_RATING
<< "library." + LIBRARYTABLE_GENRE
<< "library." + LIBRARYTABLE_COMPOSER
<< "library." + LIBRARYTABLE_GROUPING
<< "library." + LIBRARYTABLE_FILETYPE
<< "library." + LIBRARYTABLE_TRACKNUMBER
<< "library." + LIBRARYTABLE_KEY
<< "library." + LIBRARYTABLE_KEY_ID
<< "library." + LIBRARYTABLE_DATETIMEADDED
<< "library." + LIBRARYTABLE_BPM
<< "library." + LIBRARYTABLE_BPM_LOCK
<< "library." + LIBRARYTABLE_BITRATE
<< "track_locations.location"
<< "track_locations.fs_deleted"
<< "library." + LIBRARYTABLE_COMMENT
<< "library." + LIBRARYTABLE_MIXXXDELETED;
QSqlQuery query(pTrackCollection->getDatabase());
QString tableName = "library_cache_view";
QString queryString = QString(
"CREATE TEMPORARY VIEW IF NOT EXISTS %1 AS "
"SELECT %2 FROM library "
"INNER JOIN track_locations ON library.location = track_locations.id")
.arg(tableName, columns.join(","));
query.prepare(queryString);
if (!query.exec()) {
LOG_FAILED_QUERY(query);
}
// Strip out library. and track_locations.
for (QStringList::iterator it = columns.begin();
it != columns.end(); ++it) {
if (it->startsWith("library.")) {
*it = it->replace("library.", "");
} else if (it->startsWith("track_locations.")) {
*it = it->replace("track_locations.", "");
}
}
BaseTrackCache* pBaseTrackCache = new BaseTrackCache(
pTrackCollection, tableName, LIBRARYTABLE_ID, columns, true);
connect(&m_trackDao, SIGNAL(trackDirty(int)),
pBaseTrackCache, SLOT(slotTrackDirty(int)));
connect(&m_trackDao, SIGNAL(trackClean(int)),
pBaseTrackCache, SLOT(slotTrackClean(int)));
connect(&m_trackDao, SIGNAL(trackChanged(int)),
pBaseTrackCache, SLOT(slotTrackChanged(int)));
connect(&m_trackDao, SIGNAL(tracksAdded(QSet<int>)),
pBaseTrackCache, SLOT(slotTracksAdded(QSet<int>)));
connect(&m_trackDao, SIGNAL(tracksRemoved(QSet<int>)),
pBaseTrackCache, SLOT(slotTracksRemoved(QSet<int>)));
connect(&m_trackDao, SIGNAL(dbTrackAdded(TrackPointer)),
pBaseTrackCache, SLOT(slotDbTrackAdded(TrackPointer)));
m_pBaseTrackCache = QSharedPointer<BaseTrackCache>(pBaseTrackCache);
pTrackCollection->addTrackSource(QString("default"), m_pBaseTrackCache);
// These rely on the 'default' track source being present.
m_pLibraryTableModel = new LibraryTableModel(this, pTrackCollection);
TreeItem* pRootItem = new TreeItem();
TreeItem* pmissingChildItem = new TreeItem(kMissingTitle, kMissingTitle,
this, pRootItem);
TreeItem* phiddenChildItem = new TreeItem(kHiddenTitle, kHiddenTitle,
this, pRootItem);
pRootItem->appendChild(pmissingChildItem);
pRootItem->appendChild(phiddenChildItem);
m_childModel.setRootItem(pRootItem);
}
示例8: fi
//.........这里部分代码省略.........
}
QStringList::iterator next = it;
if ( next != args.end() ) {
++next;
}
if ( next == args.end() ) {
std::cout << QObject::tr("You must specify the name of a Write node when using the -w option").toStdString() << std::endl;
error = 1;
return;
}
//Check that the name is conform to a Python acceptable script name
std::string pythonConform = NATRON_PYTHON_NAMESPACE::makeNameScriptFriendly( next->toStdString() );
if (next->toStdString() != pythonConform) {
std::cout << QObject::tr("The name of the Write node specified is not valid: it cannot contain non alpha-numerical "
"characters and must not start with a digit.").toStdString() << std::endl;
error = 1;
return;
}
CLArgs::WriterArg w;
w.name = *next;
QStringList::iterator nextNext = next;
if ( nextNext != args.end() ) {
++nextNext;
}
if ( nextNext != args.end() ) {
//Check for an optional filename
if ( !nextNext->startsWith( QChar::fromLatin1('-') ) && !nextNext->startsWith( QString::fromUtf8("--") ) ) {
w.filename = *nextNext;
#ifdef __NATRON_UNIX__
w.filename = AppManager::qt_tildeExpansion(w.filename);
#endif
}
}
writers.push_back(w);
if ( nextNext != args.end() ) {
++nextNext;
}
args.erase(it, nextNext);
} // for (;;)
//Parse readers
for (;; ) {
QStringList::iterator it = hasToken( QString::fromUtf8("reader"), QString::fromUtf8("i") );
if ( it == args.end() ) {
break;
}
if (!isBackground || isInterpreterMode) {
std::cout << QObject::tr("You cannot use the -i option in interactive or interpreter mode").toStdString() << std::endl;
error = 1;
return;
}
QStringList::iterator next = it;
if ( next != args.end() ) {
++next;
示例9: doParseHeader
bool TWScript::doParseHeader(const QString& beginComment, const QString& endComment,
const QString& Comment, bool skipEmpty /* = true */)
{
QFile file(m_Filename);
QStringList lines;
QString line;
bool codecChanged = true;
bool success = false;
QTextCodec* codec;
if (!file.exists() || !file.open(QIODevice::ReadOnly))
return false;
m_Codec = QTextCodec::codecForName("UTF-8");
if (!m_Codec)
m_Codec = QTextCodec::codecForLocale();
while (codecChanged) {
codec = m_Codec;
file.seek(0);
lines = codec->toUnicode(file.readAll()).split(QRegExp("\r\n|[\n\r]"));
// skip any empty lines
if (skipEmpty) {
while (!lines.isEmpty() && lines.first().isEmpty())
lines.removeFirst();
}
if (lines.isEmpty())
break;
// is this a valid TW script?
line = lines.takeFirst();
if (!beginComment.isEmpty()) {
if (!line.startsWith(beginComment))
break;
line = line.mid(beginComment.size()).trimmed();
}
else if (!Comment.isEmpty()) {
if (!line.startsWith(Comment))
break;
line = line.mid(Comment.size()).trimmed();
}
if (!line.startsWith("TeXworksScript"))
break;
// scan to find the extent of the header lines
QStringList::iterator i;
for (i = lines.begin(); i != lines.end(); ++i) {
// have we reached the end?
if (skipEmpty && i->isEmpty()) {
i = lines.erase(i);
--i;
continue;
}
if (!endComment.isEmpty()) {
if (i->startsWith(endComment))
break;
}
if (!i->startsWith(Comment))
break;
*i = i->mid(Comment.size()).trimmed();
}
lines.erase(i, lines.end());
codecChanged = false;
switch (doParseHeader(lines)) {
case ParseHeader_OK:
success = true;
break;
case ParseHeader_Failed:
success = false;
break;
case ParseHeader_CodecChanged:
codecChanged = true;
break;
}
}
file.close();
return success;
}