本文整理汇总了C++中QMap::values方法的典型用法代码示例。如果您正苦于以下问题:C++ QMap::values方法的具体用法?C++ QMap::values怎么用?C++ QMap::values使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QMap
的用法示例。
在下文中一共展示了QMap::values方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: parse
//.........这里部分代码省略.........
QStringList tags = QStringList();
int p = 0;
while (((p = rxtags.indexIn(m_source, p)) != -1))
{
if (!tags.contains(rxtags.cap(2)))
{
m_tags.append(Tag(rxtags.cap(2), rxtags.cap(1), rxtags.cap(3).toInt()));
tags.append(rxtags.cap(2));
}
p += rxtags.matchedLength();
}
}
// Getting images
QRegExp rx(m_site->value("Regex/Image"));
QStringList order = m_site->value("Regex/Order").split('|');
rx.setMinimal(true);
int pos = 0, id = 0;
while ((pos = rx.indexIn(m_source, pos)) != -1)
{
pos += rx.matchedLength();
QMap<QString,QString> d;
for (int i = 0; i < order.size(); i++)
{ d[order.at(i)] = rx.cap(i+1); }
// JSON elements
if (order.contains("json") && !d["json"].isEmpty())
{
QVariant src = Json::parse(d["json"]);
if (!src.isNull())
{
QMap<QString,QVariant> map = src.toMap();
for (int i = 0; i < map.size(); i++)
{ d[map.keys().at(i)] = map.values().at(i).toString(); }
}
}
this->parseImage(d, id + first);
id++;
}
}
// JSON
else if (m_format == "json")
{
QVariant src = Json::parse(m_source);
if (!src.isNull())
{
QMap<QString, QVariant> sc;
QList<QVariant> sourc = src.toList();
if (sourc.isEmpty())
{ sourc = src.toMap().value("images").toList(); }
for (int id = 0; id < sourc.count(); id++)
{
sc = sourc.at(id + first).toMap();
QMap<QString,QString> d;
if (sc.contains("tag_string"))
{
QStringList infos, assoc;
infos << "created_at" << "status" << "source" << "has_comments" << "file_url" << "sample_url" << "change" << "sample_width" << "has_children" << "preview_url" << "width" << "md5" << "preview_width" << "sample_height" << "parent_id" << "height" << "has_notes" << "creator_id" << "file_size" << "id" << "preview_height" << "rating" << "tags" << "author" << "score" << "tags_artist" << "tags_character" << "tags_copyright" << "tags_general";
assoc << "created_at" << "status" << "source" << "has_comments" << "file_url" << "large_file_url" << "change" << "sample_width" << "has_children" << "preview_file_url" << "image_width" << "md5" << "preview_width" << "sample_height" << "parent_id" << "image_height" << "has_notes" << "uploader_id" << "file_size" << "id" << "preview_height" << "rating" << "tag_string" << "uploader_name" << "score" << "tag_string_artist" << "tag_string_character" << "tag_string_copyright" << "tag_string_general";
for (int i = 0; i < infos.count(); i++)
{ d[infos.at(i)] = sc.value(assoc.at(i)).toString().trimmed(); }
}
else if (sc.contains("tag_ids"))
{
QStringList infos, assoc;
示例2: meshTypeStringKeys
QStringList meshTypeStringKeys() { return meshTypeList.values(); }
示例3: adaptivityStoppingCriterionTypeStringKeys
QStringList adaptivityStoppingCriterionTypeStringKeys() { return adaptivityStoppingCriterionTypeList.values(); }
示例4: analysisTypeStringKeys
QStringList analysisTypeStringKeys() { return analysisTypeList.values(); }
示例5: weakFormStringKeys
QStringList weakFormStringKeys() { return weakFormList.values(); }
示例6: butcherTableTypeStringKeys
QStringList butcherTableTypeStringKeys() { return butcherTableTypeList.values(); }
示例7: iterLinearSolverPreconditionerTypeStringKeys
QStringList iterLinearSolverPreconditionerTypeStringKeys() { return iterLinearSolverPreconditionerTypeList.values(); }
示例8: dampingTypeStringKeys
QStringList dampingTypeStringKeys() { return dampingTypeList.values(); }
示例9: matrixSolverTypeStringKeys
QStringList matrixSolverTypeStringKeys() { return matrixSolverTypeList.values(); }
示例10: solutionTypeStringKeys
QStringList solutionTypeStringKeys() { return solutionTypeList.values(); }
示例11: linearityTypeStringKeys
QStringList linearityTypeStringKeys() { return linearityTypeList.values(); }
示例12: run
void UIGInformationUpdateTaskStorage::run()
{
/* Acquire corresponding machine: */
CMachine machine = property("machine").value<CMachine>();
if (machine.isNull())
return;
/* Prepare table: */
UITextTable table;
/* Gather information: */
if (machine.GetAccessible())
{
/* Iterate over all the machine controllers: */
bool fSomeInfo = false;
foreach (const CStorageController &controller, machine.GetStorageControllers())
{
/* Add controller information: */
QString strControllerName = QApplication::translate("UIMachineSettingsStorage", "Controller: %1");
table << UITextTableLine(strControllerName.arg(controller.GetName()), QString());
fSomeInfo = true;
/* Populate map (its sorted!): */
QMap<StorageSlot, QString> attachmentsMap;
foreach (const CMediumAttachment &attachment, machine.GetMediumAttachmentsOfController(controller.GetName()))
{
/* Prepare current storage slot: */
StorageSlot attachmentSlot(controller.GetBus(), attachment.GetPort(), attachment.GetDevice());
AssertMsg(controller.isOk(),
("Unable to acquire controller data: %s\n",
msgCenter().formatRC(controller.lastRC()).toAscii().constData()));
if (!controller.isOk())
continue;
/* Prepare attachment information: */
QString strAttachmentInfo = vboxGlobal().details(attachment.GetMedium(), false, false);
/* That temporary hack makes sure 'Inaccessible' word is always bold: */
{ // hack
QString strInaccessibleString(VBoxGlobal::tr("Inaccessible", "medium"));
QString strBoldInaccessibleString(QString("<b>%1</b>").arg(strInaccessibleString));
strAttachmentInfo.replace(strInaccessibleString, strBoldInaccessibleString);
} // hack
/* Append 'device slot name' with 'device type name' for optical devices only: */
KDeviceType deviceType = attachment.GetType();
QString strDeviceType = deviceType == KDeviceType_DVD ?
QApplication::translate("UIGInformation", "[Optical Drive]", "details (storage)") : QString();
if (!strDeviceType.isNull())
strDeviceType.append(' ');
/* Insert that attachment information into the map: */
if (!strAttachmentInfo.isNull())
{
/* Configure hovering anchors: */
const QString strAnchorType = deviceType == KDeviceType_DVD || deviceType == KDeviceType_Floppy ? QString("mount") :
deviceType == KDeviceType_HardDisk ? QString("attach") : QString();
const CMedium medium = attachment.GetMedium();
const QString strMediumLocation = medium.isNull() ? QString() : medium.GetLocation();
attachmentsMap.insert(attachmentSlot,
QString("<a href=#%1,%2,%3,%4>%5</a>")
.arg(strAnchorType,
controller.GetName(),
gpConverter->toString(attachmentSlot),
strMediumLocation,
strDeviceType + strAttachmentInfo));
}
}
/* Iterate over the sorted map: */
QList<StorageSlot> storageSlots = attachmentsMap.keys();
QList<QString> storageInfo = attachmentsMap.values();
for (int i = 0; i < storageSlots.size(); ++i)
table << UITextTableLine(QString(" ") + gpConverter->toString(storageSlots[i]), storageInfo[i]);
}
if (!fSomeInfo)
table << UITextTableLine(QApplication::translate("UIGInformation", "Not Attached", "details (storage)"), QString());
}
示例13: loadNext
int User::loadNext() {
if (queue.empty()) return 1;
if (this->cancel) return 1;
QMap<Anime *, bool> data = queue.front();
queue.pop();
Anime *anime = data.keys().first();
bool download_cover = data.values().first();
QString ID = anime->getID();
QUrl ID_URL = API::sharedAPI()->sharedAniListAPI()->API_ANIME(ID);
QJsonObject result =
API::sharedAPI()->sharedAniListAPI()->get(ID_URL).object();
anime->setCoverURL(QUrl(result.value("image_url_lge").toString()));
if (download_cover) {
QEventLoop evt;
connect(anime, SIGNAL(new_image()), &evt, SLOT(quit()));
anime->downloadCover();
evt.exec();
}
QString description = result.value("description").toString();
anime->setDuration(result.value("duration").toInt());
anime->setSynopsis(description);
anime->setRomajiTitle(result.value("title_romaji").toString());
anime->setJapaneseTitle(result.value("title_japanese").toString());
anime->setEnglishTitle(result.value("title_english").toString());
anime->setType(result.value("type").toString());
anime->setAiringStatus(result.value("airing_status").toString());
anime->setEpisodeCount(result.value("total_episodes").toInt());
anime->setAverageScore(result.value("average_score").toString());
anime->setTitle(result.value(title_language).toString());
if (anime->getAiringStatus() == "currently airing") {
QJsonObject airing = result.value("airing").toObject();
anime->setNextEpisode(airing.value("next_episode").toInt());
anime->setCountdown(airing.value("countdown").toInt());
if (anime->getCountdown() > 0) {
anime->setAiringSchedule(true);
} else {
anime->setAiringSchedule(false);
}
}
QJsonArray synonyms = result.value("synonyms").toArray();
for (int j = 0; j < synonyms.count(); j++) {
anime->addSynonym(synonyms.at(j).toString());
}
anime->finishReload();
qDebug() << "Loaded extra data for anime" << anime->getTitle();
db->saveAnime(anime);
if (!queue.empty()) {
async_registry.append(QtConcurrent::run([&, this]() { // NOLINT
loadNext();
return 1;
}));
}
return 1;
}
示例14: layoutAboutToBeChanged
//.........这里部分代码省略.........
break;
}
if(action.userAction.position>(transfertItemList.size()-1))
{
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QString("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position));
break;
}
transfertItemList.removeAt(action.userAction.position);
currentFile++;
startId.remove(action.addAction.id);
stopId.remove(action.addAction.id);
internalRunningOperation.remove(action.addAction.id);
//newIndexes.remove(action.userAction.moveAt);
}
break;
case Ultracopier::PreOperation:
{
ItemOfCopyListWithMoreInformations tempItem;
tempItem.currentReadProgression=0;
tempItem.currentWriteProgression=0;
tempItem.generalData=action.addAction;
tempItem.actionType=action.type;
internalRunningOperation[action.addAction.id]=tempItem;
}
break;
case Ultracopier::Transfer:
{
if(!startId.contains(action.addAction.id))
startId << action.addAction.id;
stopId.remove(action.addAction.id);
if(internalRunningOperation.contains(action.addAction.id))
internalRunningOperation[action.addAction.id].actionType=action.type;
else
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QString("unable to found entry for file %1: actionType: Transfer").arg(action.addAction.id));
}
break;
case Ultracopier::PostOperation:
{
if(!stopId.contains(action.addAction.id))
stopId << action.addAction.id;
startId.remove(action.addAction.id);
}
break;
case Ultracopier::CustomOperation:
{
bool custom_with_progression=(action.addAction.size==1);
//without progression
if(custom_with_progression)
{
if(startId.remove(action.addAction.id))
if(!stopId.contains(action.addAction.id))
stopId << action.addAction.id;
}
//with progression
else
{
stopId.remove(action.addAction.id);
if(!startId.contains(action.addAction.id))
startId << action.addAction.id;
}
if(internalRunningOperation.contains(action.addAction.id))
{
ItemOfCopyListWithMoreInformations &item=internalRunningOperation[action.addAction.id];
item.actionType=action.type;
item.custom_with_progression=custom_with_progression;
item.currentReadProgression=0;
item.currentWriteProgression=0;
}
}
break;
default:
//unknow code, ignore it
break;
}
index_for_loop++;
}
if(!oldIndexes.isEmpty())
{
const QSet<quint64> ids = oldMapping.values().toSet();
for ( int i = 0; i < transfertItemList.count(); i++ ) {
const TransferModel::TransfertItem& item = transfertItemList[ i ];
if ( ids.contains( item.id ) ) {
newMapping[ item.id ] = i;
}
}
for ( int i = 0; i < oldIndexes.count(); i++ ) {
const QModelIndex& index = oldIndexes[ i ];
const int newRow = newMapping.value( oldMapping[ index.row() ], -1 );
newIndexes[ i ] = newRow == -1 ? QModelIndex() : QAbstractTableModel::index( newRow, index.column(), index.parent() );
}
}
changePersistentIndexList( oldIndexes, newIndexes );
emit layoutChanged();
return QList<quint64>() << totalFile << totalSize << currentFile;
}
示例15: dataTableTypeStringKeys
QStringList dataTableTypeStringKeys() { return dataTableTypeList.values(); }