本文整理汇总了C++中QMultiMap::value方法的典型用法代码示例。如果您正苦于以下问题:C++ QMultiMap::value方法的具体用法?C++ QMultiMap::value怎么用?C++ QMultiMap::value使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QMultiMap
的用法示例。
在下文中一共展示了QMultiMap::value方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: extractObjects
void filterNetworkAccessModule::extractObjects()
{
if(!this->parseQnStack.isEmpty())
{
if( this->parseQnStack.front() == this->ObjectLevel)
{
while(!this->parseQnStack.isEmpty())
{
std::cout << "Processing..." << std::endl;
QXmlStreamReader::TokenType tempType = this->parseTypeStack.front();
this->parseTypeStack.pop_front();
QString tempQn = this->parseQnStack.front();
this->parseQnStack.pop_front();
QString tempText = this->parseTextStack.front();
this->parseTextStack.pop_front();
std::cout << "QN : " << tempQn.toAscii().data() << " : " << tempType << std::endl;
//create a new object for the stack
QMultiMap<QString, QString> *temp = new QMultiMap<QString, QString>;
do
{
//get the next item from the stack
tempType = this->parseTypeStack.front();
this->parseTypeStack.pop_front();
tempQn = this->parseQnStack.front();
this->parseQnStack.pop_front();
tempText = this->parseTextStack.front();
this->parseTextStack.pop_front();
//DEBUG
std::cout << "Adding: (" << tempQn.toAscii().data() << "," << tempText.toAscii().data() << ")" << std::endl;
//create object
temp->insert(tempQn, tempText);
}while(!this->parseQnStack.isEmpty() && this->parseQnStack.front() != this->ObjectLevel);
//add object to list
std::cout << "adding record for " << temp->count() << " submaps" << std::endl;
std::cout << "block: " << temp->value(QString("name")).toAscii().data() << std::endl;
this->finalObjects->push_back(temp);
}
// std::cout << "Number of Objects:" << this->finalObjects->size() << std::endl;
}
else
{
std::cerr << "Empty Status: " << this->parseQnStack.size() << std::endl;
std::cerr << "Back Item: " << this->parseQnStack.back().toAscii().data() << std::endl;
std::cerr << ":EXTRACTION LOOP EXITS WITHOUT EXECUTING:" << std::endl;
}
}
}
示例2: ranking
QStringList Statistics::ranking(QString key){
QMultiMap<quint64, QString> *map = this->_rankings.value(key);
QStringList rankedList;
QList<quint64> keys = map->keys();
for(int i = keys.length()-1; i >= 0;--i){
rankedList.append(map->value(keys.at(i)));
}
return rankedList;
}
示例3: command
QString BlackBerryCertificate::command() const
{
QString command;
// TOOD: Give user choice to select NDK from where to get commands
QMultiMap<QString, QString> qnxEnv = BlackBerryConfigurationManager::instance().defaultQnxEnv();
if (!qnxEnv.isEmpty()) {
command = qnxEnv.value(QLatin1String("QNX_HOST"))
+ QLatin1String("/usr/bin/blackberry-keytool");
if (Utils::HostOsInfo::isWindowsHost())
command += QLatin1String(".bat");
}
return command;
}
示例4: run
void CalculateTaskScore::run()
{
qDebug() << "CalculateTaskScore: Starting new thread";
ConfigParser settings;
QDateTime started = QDateTime::currentDateTime();
ctemplate::TemplateDictionary dict("user_task_score");
db = MySQLHandler::getInstance();
QMultiMap<int, LCCode> users = UserDao::getUserNativeLCCodes(db);
QList<QSharedPointer<Task> > tasks = this->getTasks(); //Must use custom function to check message for task id
QMultiMap<int, LCCode> userSecondaryLanguages = UserDao::getUserLCCodes(db);
QMultiMap<int, int> userTags = UserDao::getUserTagIds(db);
QMultiMap<int, int> taskTags = TaskDao::getTaskTagIds(db);
if(users.count() > 0) {
for(QMultiMap<int, LCCode>::ConstIterator usersIter = users.constBegin(); usersIter != users.constEnd(); ++usersIter) {
if(tasks.length() > 0) {
const LCCode userNativeLCCode = users.value(usersIter.key());
QList<TaskScore> taskScores;
foreach(QSharedPointer<Task> task, tasks) {
int score = 0;
Locale taskSourceLocale = task->sourcelocale();
if(userNativeLCCode.first == taskSourceLocale.languagecode()) {
score += 750;
if(userNativeLCCode.second == taskSourceLocale.countrycode()) {
score += 75;
}
}
Locale taskTargetLocale = task->targetlocale();
if(userNativeLCCode.first == taskTargetLocale.languagecode()) {
score += 1000;
if(userNativeLCCode.second == taskTargetLocale.countrycode()) {
score += 100;
}
}
if(userSecondaryLanguages.contains(usersIter.key())) {
const QList<LCCode> lcCodes = userSecondaryLanguages.values(usersIter.key());
if(lcCodes.end() != std::find_if(lcCodes.begin(), lcCodes.end(), LidMatch(taskSourceLocale.languagecode()))) {
score += 500;
if(lcCodes.end() != std::find_if(lcCodes.begin(), lcCodes.end(), CidMatch(taskSourceLocale.countrycode())) ) {
score += 50;
}
}
if(lcCodes.end() != std::find_if(lcCodes.begin(), lcCodes.end(), LidMatch(taskTargetLocale.languagecode()))) {
score += 500;
if(lcCodes.end() != std::find_if(lcCodes.begin(), lcCodes.end(), CidMatch(taskTargetLocale.countrycode())) ) {
score += 50;
}
}
}
if(userTags.contains(usersIter.key()) && taskTags.contains(task->id())) {
int increment_value = 250;
QList<int> userTagIds = userTags.values(usersIter.key());
QList<int> userTaskTagIds = taskTags.values(task->id());
foreach(int userTagId, userTagIds) {
if(userTaskTagIds.contains(userTagId)) {
score += increment_value;
increment_value *= 0.75;
}
}
}
QDateTime created_time = QDateTime::fromString(
QString::fromStdString(task->createdtime()), Qt::ISODate);
//increase score by one per day since created time
score += created_time.daysTo(QDateTime::currentDateTime());
taskScores.append(TaskScore(task->id(), score));
}
this->saveUserTaskScore(usersIter.key(),taskScores);
} else {
示例5: editInstrList
//.........这里部分代码省略.........
//
// check for valid barLineSpan and bracketSpan
// in all staves
//
for (Score* s : masterScore->scoreList()) {
int n = s->nstaves();
int curSpan = 0;
for (int j = 0; j < n; ++j) {
Staff* staff = s->staff(j);
int span = staff->barLineSpan();
int setSpan = -1;
// determine if we need to update barline span
if (curSpan == 0) {
// no current span; this staff must start a new one
if (span == 0) {
// no span; this staff must have been within a span
// update it to a span of 1
setSpan = j;
}
else if (span > (n - j)) {
// span too big; staves must have been removed
// reduce span to last staff
setSpan = n - j;
}
else if (span > 1 && staff->barLineTo() > 0) {
// TODO: check if span is still valid
// (true if the last staff is the same as it was before this edit)
// the code here fixes https://musescore.org/en/node/41786
// but by forcing an update,
// we lose custom modifications to staff barLineTo
// at least this happens only for span > 1, and not for Mensurstrich (barLineTo<=0)
setSpan = span; // force update to pick up new barLineTo value
}
else {
// this staff starts a span
curSpan = span;
}
}
else if (span && staff->barLineTo() > 0) {
// within a current span; staff must have span of 0
// except for Mensurstrich (barLineTo<=0)
// for consistency with Barline::endEdit,
// don't special case 1-line staves
//TODO s->undoChangeBarLineSpan(staff, 0, 0, (staff->lines() - 1) * 2);
}
// update barline span if necessary
if (setSpan > 0) {
// this staff starts a span
curSpan = setSpan;
// calculate spanFrom and spanTo values
// int spanFrom = staff->lines() == 1 ? BARLINE_SPAN_1LINESTAFF_FROM : 0;
// int linesTo = masterScore->staff(i + setSpan - 1)->lines();
// int spanTo = linesTo == 1 ? BARLINE_SPAN_1LINESTAFF_TO : (linesTo - 1) * 2;
//TODO s->undoChangeBarLineSpan(staff, setSpan, spanFrom, spanTo);
}
// count off one from barline span
--curSpan;
// update brackets
for (BracketItem* bi : staff->brackets()) {
if ((bi->bracketSpan() > (n - j)))
bi->undoChangeProperty(Pid::BRACKET_SPAN, n - j);
示例6: preferredPlugin
void tst_QWebPluginDatabase::preferredPlugin()
{
QMultiMap<QString, QWebPluginInfo> pluginsMap;
QWebPluginDatabase* database = QWebSettings::pluginDatabase();
QList<QWebPluginInfo> plugins = database->plugins();
for (int i = 0; i < plugins.count(); ++i) {
QWebPluginInfo plugin = plugins.at(i);
QList<MimeType> mimeTypes = plugin.mimeTypes();
for (int j = 0; j < mimeTypes.count(); ++j) {
QString mimeType = mimeTypes.at(j).name;
pluginsMap.insert(mimeType, plugin);
}
}
QMultiMap<QString, QWebPluginInfo>::iterator it = pluginsMap.begin();
while (it != pluginsMap.end()) {
QString mimeType = it.key();
if (pluginsMap.count(mimeType) > 1) {
QList<QWebPluginInfo> pluginsForMimeType = pluginsMap.values(mimeType);
QWebPluginInfo plugin = database->pluginForMimeType(mimeType);
QVERIFY(plugin.supportsMimeType(mimeType));
pluginsForMimeType.removeAll(plugin);
for (int i = 0; i < pluginsForMimeType.count(); ++i) {
QWebPluginInfo anotherPlugin = pluginsForMimeType.at(i);
QVERIFY(plugin.supportsMimeType(mimeType));
QVERIFY(plugin != anotherPlugin);
QCOMPARE(database->pluginForMimeType(mimeType), plugin);
database->setPreferredPluginForMimeType(mimeType, anotherPlugin);
QCOMPARE(database->pluginForMimeType(mimeType), anotherPlugin);
anotherPlugin.setEnabled(false);
QCOMPARE(database->pluginForMimeType(mimeType), plugin);
anotherPlugin.setEnabled(true);
QCOMPARE(database->pluginForMimeType(mimeType), anotherPlugin);
database->setSearchPaths(database->searchPaths());
QCOMPARE(database->pluginForMimeType(mimeType), anotherPlugin);
database->setPreferredPluginForMimeType(mimeType, QWebPluginInfo());
QCOMPARE(database->pluginForMimeType(mimeType), plugin);
}
} else {
QWebPluginInfo plugin = database->pluginForMimeType(mimeType);
QCOMPARE(pluginsMap.value(mimeType), plugin);
database->setPreferredPluginForMimeType(mimeType, plugin);
QCOMPARE(database->pluginForMimeType(mimeType), plugin);
plugin.setEnabled(false);
QCOMPARE(database->pluginForMimeType(mimeType), QWebPluginInfo());
plugin.setEnabled(true);
database->setPreferredPluginForMimeType(mimeType, QWebPluginInfo());
QCOMPARE(database->pluginForMimeType(mimeType), plugin);
}
++it;
}
if (pluginsMap.keys().count() >= 2) {
QStringList mimeTypes = pluginsMap.uniqueKeys();
QString mimeType1 = mimeTypes.at(0);
QString mimeType2 = mimeTypes.at(1);
QWebPluginInfo plugin1 = database->pluginForMimeType(mimeType1);
QWebPluginInfo plugin2 = database->pluginForMimeType(mimeType2);
int i = 2;
while (plugin2.supportsMimeType(mimeType1)
&& !mimeType2.isEmpty()
&& i < mimeTypes.count()) {
mimeType2 = mimeTypes.at(i);
plugin2 = database->pluginForMimeType(mimeType2);
++i;
}
plugin1 = database->pluginForMimeType(mimeType1);
QVERIFY(plugin1.supportsMimeType(mimeType1));
QVERIFY(!plugin1.isNull());
plugin2 = database->pluginForMimeType(mimeType2);
QVERIFY(plugin2.supportsMimeType(mimeType2));
QVERIFY(!plugin2.isNull());
database->setPreferredPluginForMimeType(mimeType2, plugin1);
QVERIFY(!plugin1.supportsMimeType(mimeType2));
QCOMPARE(database->pluginForMimeType(mimeType2), plugin2);
database->setPreferredPluginForMimeType(mimeType1, plugin1);
QVERIFY(!plugin2.supportsMimeType(mimeType1));
QCOMPARE(database->pluginForMimeType(mimeType2), plugin2);
}
}