本文整理汇总了C++中QFileInfoList::replace方法的典型用法代码示例。如果您正苦于以下问题:C++ QFileInfoList::replace方法的具体用法?C++ QFileInfoList::replace怎么用?C++ QFileInfoList::replace使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QFileInfoList
的用法示例。
在下文中一共展示了QFileInfoList::replace方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setScores
void ScoreBrowser::setScores(QFileInfoList& s)
{
qDeleteAll(scoreLists);
scoreLists.clear();
QVBoxLayout* l = static_cast<QVBoxLayout*>(scoreList->layout());
while (l->count())
l->removeItem(l->itemAt(0));
ScoreListWidget* sl = 0;
QStringList filter = { "*.mscz" };
if (_showCustomCategory)
std::sort(s.begin(), s.end(), [](QFileInfo a, QFileInfo b)->bool { return a.fileName() < b.fileName(); });
QSet<QString> entries; //to avoid duplicates
for (const QFileInfo& fi : s) {
if (fi.isDir()) {
QString s(fi.fileName());
if (!s.isEmpty() && s[0].isNumber() && _stripNumbers)
s = s.mid(3);
s = s.replace('_', ' ');
QLabel* label = new QLabel(s);
QFont f = label->font();
f.setBold(true);
label->setFont(f);
static_cast<QVBoxLayout*>(l)->addWidget(label);
QDir dir(fi.filePath());
sl = createScoreList();
l->addWidget(sl);
unsigned count = 0; //nbr of entries added
for (const QFileInfo& fi : dir.entryInfoList(filter, QDir::Files, QDir::Name)){
if (entries.contains(fi.filePath()))
continue;
sl->addItem(genScoreItem(fi, sl));
count++;
entries.insert(fi.filePath());
}
if (count == 0) {
delete label;
delete sl;
}
sl = 0;
}
}
for (const QFileInfo& fi : s) {
if (fi.isFile()) {
QString s = fi.filePath();
if (entries.contains(s))
continue;
if (s.endsWith(".mscz") || s.endsWith(".mscx")) {
if (!sl) {
if (_showCustomCategory) {
QLabel* label = new QLabel(tr("Custom Templates"));
QFont f = label->font();
f.setBold(true);
label->setFont(f);
l->insertWidget(2,label);
}
sl = createScoreList();
l->insertWidget(3,sl);
}
sl->addItem(genScoreItem(fi, sl));
entries.insert(s);
}
}
}
}