本文整理汇总了C++中QStandardItem::icon方法的典型用法代码示例。如果您正苦于以下问题:C++ QStandardItem::icon方法的具体用法?C++ QStandardItem::icon怎么用?C++ QStandardItem::icon使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QStandardItem
的用法示例。
在下文中一共展示了QStandardItem::icon方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: pathsAdded
void ctkCmdLineModuleExplorerModulesSettings::pathsAdded(const QStringList &paths)
{
// Check the validity of the entries
foreach(const QString& path, paths)
{
ctkCmdLineModuleReference moduleRef = this->ModuleManager->moduleReference(QUrl::fromLocalFile(path));
if (!moduleRef || !moduleRef.xmlValidationErrorString().isEmpty())
{
QStandardItem* item = ui->PathListWidget->item(path);
if (this->WarningIcon.isNull())
{
this->WarningIcon = ctkCmdLineModuleExplorerUtils::createIconOverlay(
item->icon().pixmap(item->icon().availableSizes().front()),
QApplication::style()->standardPixmap(QStyle::SP_MessageBoxWarning));
}
QString toolTip = path + "\n\n" + tr("Warning") + ":\n\n";
if (moduleRef)
{
item->setIcon(this->WarningIcon);
toolTip += moduleRef.xmlValidationErrorString();
}
else if (this->ModulesRegistered)
{
item->setIcon(this->WarningIcon);
toolTip += tr("No XML output available.");
}
else
{
toolTip = path;
}
item->setToolTip(toolTip);
}
}
示例2: itemClicked
void QgsMilXLibrary::itemClicked( const QModelIndex &index )
{
QModelIndex sourceIndex = mFilterProxyModel->mapToSource( index );
QList<QModelIndex> indexStack;
indexStack.prepend( sourceIndex );
while ( sourceIndex.parent().isValid() )
{
sourceIndex = sourceIndex.parent();
indexStack.prepend( sourceIndex );
}
QStandardItem* item = mGalleryModel->itemFromIndex( indexStack.front() );
if ( item )
{
for ( int i = 1, n = indexStack.size(); i < n; ++i )
{
item = item->child( indexStack[i].row() );
}
QgsMilxSymbolTemplate symbolTemplate;
symbolTemplate.symbolXml = item->data( SymbolXmlRole ).toString();
if ( symbolTemplate.symbolXml.isEmpty() )
{
return;
}
hide();
if ( symbolTemplate.symbolXml == "<custom>" )
{
MilXClient::SymbolDesc desc;
WId wid = mIface->mapCanvas()->winId();
if ( !MilXClient::createSymbol( symbolTemplate.symbolXml, desc, wid ) )
{
return;
}
symbolTemplate.symbolMilitaryName = desc.militaryName;
symbolTemplate.minNPoints = desc.minNumPoints;
symbolTemplate.hasVariablePoints = desc.hasVariablePoints;
symbolTemplate.pixmap = QPixmap::fromImage( desc.icon ).scaled( 32, 32, Qt::KeepAspectRatio );
}
else
{
symbolTemplate.symbolMilitaryName = item->data( SymbolMilitaryNameRole ).toString();
symbolTemplate.minNPoints = item->data( SymbolPointCountRole ).toInt();
symbolTemplate.hasVariablePoints = item->data( SymbolVariablePointsRole ).toInt();
symbolTemplate.pixmap = item->icon().pixmap( item->icon().actualSize( QSize( 32, 32 ) ) );
}
emit symbolSelected( symbolTemplate );
}
}
示例3: testsProperParse
void KDEProjectsReaderTest::testsProperParse()
{
KDEProjectsModel m;
KDEProjectsReader reader(&m, 0);
if(reader.hasErrors())
qDebug() << "errors:" << reader.errors();
QVERIFY(!reader.hasErrors());
WAIT_FOR_SIGNAL(&reader,downloadDone());
for(int i=0; i<m.rowCount(); i++) {
QStandardItem* item = m.item(i,0);
qDebug() << ":::::" << item->text() << item->icon() << item->data(KDEProjectsModel::VcsLocationRole);
QVERIFY(item);
QVERIFY(!item->text().isEmpty());
QVariant urls = item->data(KDEProjectsModel::VcsLocationRole);
QVERIFY(urls.isValid());
QVERIFY(urls.canConvert(QVariant::Map));
QVariantMap mapurls=urls.toMap();
for(QVariantMap::const_iterator it=mapurls.constBegin(), itEnd=mapurls.constEnd(); it!=itEnd; ++it) {
QVERIFY(!it.key().isEmpty());
QVERIFY(!it.value().toString().isEmpty());
}
QVERIFY(!item->data(KDEProjectsModel::VcsLocationRole).toMap().isEmpty());
}
}
示例4: on_screenshotListView_doubleClicked
void ReportGenerationDialog::on_screenshotListView_doubleClicked(const QModelIndex &index)
{
QStandardItem *item = screenshotModel.item(ui->screenshotListView->currentIndex().row());
selectedScreenshotModel.appendRow(new QStandardItem(item->icon(), item->text()));
processScreenshotAnalysis(item->text());
screenshotModel.removeRow(ui->screenshotListView->currentIndex().row());
}
示例5: toggleItems
void SearchDialog::toggleItems(bool enabled)
{
QCheckBox *checkBox = qobject_cast<QCheckBox*>(sender());
for (QListView *list : this->findChildren<QListView*>()) {
QStandardItemModel *m = qobject_cast<QStandardItemModel*>(list->model());
// Hiding / restoring items has to be done in 2-steps
// First step is for finding items that are about to be moved
// Second step is for iterating backward on marked items -> you cannot remove items on a single for loop
if (enabled) {
// Restore hidden items for every list
QList<QStandardItem*> items = _hiddenItems.value(list);
QList<int> indexes;
for (int i = 0; i < items.size(); i++) {
QStandardItem *item = items.at(i);
// Extract only matching items
if (item->data(AbstractSearchDialog::DT_Origin) == checkBox->text()) {
indexes.prepend(i);
}
}
// Moving back from hidden to visible
for (int i = 0; i < indexes.size(); i++) {
QStandardItem *item = items.takeAt(indexes.at(i));
m->appendRow(item);
}
// Replace existing values with potentially empty list
_hiddenItems.insert(list, items);
m->sort(0);
} else {
// Hide items for every list
QStandardItemModel *m = qobject_cast<QStandardItemModel*>(list->model());
QList<QStandardItem*> items;
QList<QPersistentModelIndex> indexes;
for (int i = 0; i < m->rowCount(); i++) {
QStandardItem *item = m->item(i, 0);
if (item->data(AbstractSearchDialog::DT_Origin).toString() == checkBox->text()) {
indexes << m->index(i, 0);
// Default copy-constructor is protected!
QStandardItem *copy = new QStandardItem(item->text());
copy->setData(checkBox->text(), AbstractSearchDialog::DT_Origin);
copy->setIcon(item->icon());
items.append(copy);
}
}
for (const QPersistentModelIndex &i : indexes) {
m->removeRow(i.row());
}
// Finally, hide selected items
if (!items.isEmpty()) {
QList<QStandardItem*> hItems = _hiddenItems.value(list);
hItems.append(items);
_hiddenItems.insert(list, hItems);
}
}
}
}
示例6: on_selectedScreenshotListView_doubleClicked
void ReportGenerationDialog::on_selectedScreenshotListView_doubleClicked(const QModelIndex &index)
{
int row = ui->selectedScreenshotListView->currentIndex().row();
QStandardItem *item = selectedScreenshotModel.item(row);
screenshotModel.appendRow(new QStandardItem(item->icon(), item->text()));
selectedScreenshotModel.removeRow(row);
selectedValuesModel.removeRow(row);
}
示例7: data
QVariant MimetypeModel::data(const QModelIndex &index, int role) const
{
if (role != Qt::DecorationRole || !index.isValid() || index.data(iconQueriedRole).toBool())
return QStandardItemModel::data(index, role);
QStandardItem *item = itemFromIndex(index);
const QString iconName = item->data(mimeTypeRole).value<QMimeType>().iconName();
if (!iconName.isEmpty())
item->setIcon(QIcon::fromTheme(iconName));
item->setData(QVariant(true), iconQueriedRole);
return item->icon();
}
示例8: paintEvent
void ObxTreeViewItem::paintEvent(QPaintEvent *)
{
if (view_.header().model() == 0 || data() == 0)
{
return;
}
QPainter p(this);
for(int i = 0; i < view_.header().model()->columnCount(); ++i)
{
QRect rc(view_.header().columnRect(i));
rc.setTop(MARGIN);
rc.setHeight(height() - 2 * MARGIN);
QStandardItem * item = view_.item(data(), i);
if (item != 0)
{
rc.adjust(ITEM_HEIGHT + MARGIN, MARGIN, -MARGIN * 4, -MARGIN);
if (i == 0)
{
rc.setLeft(rc.left() + obx::indent(item));
}
p.setOpacity(item->isSelectable() ? 1.0 : 0.5);
QIcon icon = item->icon();
p.drawPixmap(8, 8, icon.pixmap(84, 84));
QString title = item->text();
p.setFont(item->font());
chopStringByRect(p, rc, item->textAlignment()|Qt::AlignTop, title);
p.drawText(rc, item->textAlignment()|Qt::AlignTop, title);
QFont smallFont;
smallFont.setPointSize(16);
title = item->toolTip();
p.setFont(smallFont);
chopStringByRect(p, rc, Qt::AlignRight|Qt::AlignBottom, title);
p.drawText(rc, Qt::AlignRight|Qt::AlignBottom, title);
}
}
if (isSelected())
{
p.setOpacity(1);
QPen pen(Qt::SolidLine);
pen.setColor(Qt::black);
p.setPen(pen);
p.drawRoundedRect(rect().adjusted(0, 0, -1, -1), 8, 8);
}
}
示例9: getSetData
void tst_QStandardItem::getSetData()
{
QStandardItem item;
for (int x = 0; x < 2; ++x) {
for (int i = 1; i <= 2; ++i) {
QString text = QString("text %0").arg(i);
item.setText(text);
QCOMPARE(item.text(), text);
QPixmap pixmap(32, 32);
pixmap.fill((i == 1) ? Qt::red : Qt::green);
QIcon icon(pixmap);
item.setIcon(icon);
QCOMPARE(item.icon(), icon);
QString toolTip = QString("toolTip %0").arg(i);
item.setToolTip(toolTip);
QCOMPARE(item.toolTip(), toolTip);
QString statusTip = QString("statusTip %0").arg(i);
item.setStatusTip(statusTip);
QCOMPARE(item.statusTip(), statusTip);
QString whatsThis = QString("whatsThis %0").arg(i);
item.setWhatsThis(whatsThis);
QCOMPARE(item.whatsThis(), whatsThis);
QSize sizeHint(64*i, 48*i);
item.setSizeHint(sizeHint);
QCOMPARE(item.sizeHint(), sizeHint);
QFont font;
item.setFont(font);
QCOMPARE(item.font(), font);
Qt::Alignment textAlignment((i == 1)
? Qt::AlignLeft|Qt::AlignVCenter
: Qt::AlignRight);
item.setTextAlignment(textAlignment);
QCOMPARE(item.textAlignment(), textAlignment);
QColor backgroundColor((i == 1) ? Qt::blue : Qt::yellow);
item.setBackground(backgroundColor);
QCOMPARE(item.background().color(), backgroundColor);
QColor textColor((i == i) ? Qt::green : Qt::cyan);
item.setForeground(textColor);
QCOMPARE(item.foreground().color(), textColor);
Qt::CheckState checkState((i == 1) ? Qt::PartiallyChecked : Qt::Checked);
item.setCheckState(checkState);
QCOMPARE(item.checkState(), checkState);
QString accessibleText = QString("accessibleText %0").arg(i);
item.setAccessibleText(accessibleText);
QCOMPARE(item.accessibleText(), accessibleText);
QString accessibleDescription = QString("accessibleDescription %0").arg(i);
item.setAccessibleDescription(accessibleDescription);
QCOMPARE(item.accessibleDescription(), accessibleDescription);
QCOMPARE(item.text(), text);
QCOMPARE(item.icon(), icon);
QCOMPARE(item.toolTip(), toolTip);
QCOMPARE(item.statusTip(), statusTip);
QCOMPARE(item.whatsThis(), whatsThis);
QCOMPARE(item.sizeHint(), sizeHint);
QCOMPARE(item.font(), font);
QCOMPARE(item.textAlignment(), textAlignment);
QCOMPARE(item.background().color(), backgroundColor);
QCOMPARE(item.foreground().color(), textColor);
QCOMPARE(item.checkState(), checkState);
QCOMPARE(item.accessibleText(), accessibleText);
QCOMPARE(item.accessibleDescription(), accessibleDescription);
QCOMPARE(qvariant_cast<QString>(item.data(Qt::DisplayRole)), text);
QCOMPARE(qvariant_cast<QIcon>(item.data(Qt::DecorationRole)), icon);
QCOMPARE(qvariant_cast<QString>(item.data(Qt::ToolTipRole)), toolTip);
QCOMPARE(qvariant_cast<QString>(item.data(Qt::StatusTipRole)), statusTip);
QCOMPARE(qvariant_cast<QString>(item.data(Qt::WhatsThisRole)), whatsThis);
QCOMPARE(qvariant_cast<QSize>(item.data(Qt::SizeHintRole)), sizeHint);
QCOMPARE(qvariant_cast<QFont>(item.data(Qt::FontRole)), font);
QCOMPARE(qvariant_cast<int>(item.data(Qt::TextAlignmentRole)), int(textAlignment));
QCOMPARE(qvariant_cast<QBrush>(item.data(Qt::BackgroundColorRole)), QBrush(backgroundColor));
QCOMPARE(qvariant_cast<QBrush>(item.data(Qt::BackgroundRole)), QBrush(backgroundColor));
QCOMPARE(qvariant_cast<QBrush>(item.data(Qt::TextColorRole)), QBrush(textColor));
QCOMPARE(qvariant_cast<QBrush>(item.data(Qt::ForegroundRole)), QBrush(textColor));
QCOMPARE(qvariant_cast<int>(item.data(Qt::CheckStateRole)), int(checkState));
QCOMPARE(qvariant_cast<QString>(item.data(Qt::AccessibleTextRole)), accessibleText);
QCOMPARE(qvariant_cast<QString>(item.data(Qt::AccessibleDescriptionRole)), accessibleDescription);
item.setBackground(pixmap);
QCOMPARE(item.background().texture(), pixmap);
QCOMPARE(qvariant_cast<QBrush>(item.data(Qt::BackgroundRole)).texture(), pixmap);
}
item.setData(QVariant(), Qt::DisplayRole);
item.setData(QVariant(), Qt::DecorationRole);
item.setData(QVariant(), Qt::ToolTipRole);
item.setData(QVariant(), Qt::StatusTipRole);
item.setData(QVariant(), Qt::WhatsThisRole);
//.........这里部分代码省略.........
示例10: drawLayerChildItems
void QgsComposerLegend::drawLayerChildItems( QPainter* p, QStandardItem* layerItem, double& currentYCoord, double& maxXCoord, int layerOpacity )
{
if ( !layerItem )
{
return;
}
//Draw all symbols first and the texts after (to find out the x coordinate to have the text aligned)
QList<double> childYCoords;
QList<double> realItemHeights;
double textHeight = fontHeightCharacterMM( mItemFont, QChar( '0' ) );
double itemHeight = qMax( mSymbolHeight, textHeight );
double textAlignCoord = 0; //alignment for legend text
QStandardItem* currentItem;
int numChildren = layerItem->rowCount();
for ( int i = 0; i < numChildren; ++i )
{
//real symbol height. Can be different from standard height in case of point symbols
double realSymbolHeight;
double realItemHeight = itemHeight; //will be adjusted if realSymbolHeight turns out to be larger
currentYCoord += mSymbolSpace;
double currentXCoord = mBoxSpace;
currentItem = layerItem->child( i, 0 );
if ( !currentItem )
{
continue;
}
QgsSymbol* symbol = 0;
QgsComposerSymbolItem* symbolItem = dynamic_cast<QgsComposerSymbolItem*>( currentItem );
if ( symbolItem )
{
symbol = symbolItem->symbol();
}
QgsSymbolV2* symbolNg = 0;
QgsComposerSymbolV2Item* symbolV2Item = dynamic_cast<QgsComposerSymbolV2Item*>( currentItem );
if ( symbolV2Item )
{
symbolNg = symbolV2Item->symbolV2();
}
QgsComposerRasterSymbolItem* rasterItem = dynamic_cast<QgsComposerRasterSymbolItem*>( currentItem );
if ( symbol ) //item with symbol?
{
//draw symbol
drawSymbol( p, symbol, currentYCoord + ( itemHeight - mSymbolHeight ) / 2, currentXCoord, realSymbolHeight, layerOpacity );
realItemHeight = qMax( realSymbolHeight, itemHeight );
currentXCoord += mIconLabelSpace;
}
else if ( symbolNg ) //item with symbol NG?
{
drawSymbolV2( p, symbolNg, currentYCoord + ( itemHeight - mSymbolHeight ) / 2, currentXCoord, realSymbolHeight, layerOpacity );
realItemHeight = qMax( realSymbolHeight, itemHeight );
currentXCoord += mIconLabelSpace;
}
else if ( rasterItem )
{
if ( p )
{
p->setBrush( rasterItem->color() );
p->drawRect( QRectF( currentXCoord, currentYCoord + ( itemHeight - mSymbolHeight ) / 2, mSymbolWidth, mSymbolHeight ) );
}
currentXCoord += mSymbolWidth;
currentXCoord += mIconLabelSpace;
}
else //item with icon?
{
QIcon symbolIcon = currentItem->icon();
if ( !symbolIcon.isNull() && p )
{
symbolIcon.paint( p, currentXCoord, currentYCoord + ( itemHeight - mSymbolHeight ) / 2, mSymbolWidth, mSymbolHeight );
currentXCoord += mSymbolWidth;
currentXCoord += mIconLabelSpace;
}
}
childYCoords.push_back( currentYCoord );
realItemHeights.push_back( realItemHeight );
currentYCoord += realItemHeight;
textAlignCoord = qMax( currentXCoord, textAlignCoord );
}
maxXCoord = qMax( maxXCoord, textAlignCoord );
for ( int i = 0; i < numChildren; ++i )
{
if ( p )
{
p->setPen( QColor( 0, 0, 0 ) );
drawText( p, textAlignCoord, childYCoords.at( i ) + textHeight + ( realItemHeights.at( i ) - textHeight ) / 2, layerItem->child( i, 0 )->text(), mItemFont );
maxXCoord = qMax( maxXCoord, textAlignCoord + mBoxSpace + textWidthMillimeters( mItemFont, layerItem->child( i, 0 )->text() ) );
}
//.........这里部分代码省略.........
示例11: helpEvent
/*
* Called every time user positions mouse over package's treeview items
*/
bool TreeViewPackagesItemDelegate::helpEvent ( QHelpEvent *event, QAbstractItemView*,
const QStyleOptionViewItem&, const QModelIndex &index )
{
if (this->parent()->objectName() == "tvPackages")
{
QTreeView* tvPackages = qobject_cast<QTreeView*>(this->parent());
QSortFilterProxyModel *sfp = qobject_cast<QSortFilterProxyModel*>(tvPackages->model());
QStandardItemModel *sim = qobject_cast<QStandardItemModel*>(sfp->sourceModel());
if (sim->rowCount() == 0) return false;
QModelIndex ind = sfp->mapToSource(index);
QStandardItem *si = sim->itemFromIndex(ind);
if (si)
{
//If the user's mouse is not positioned above the name column, let's give him a little help...
if (si->column() != ctn_PACKAGE_NAME_COLUMN)
{
QModelIndex miName = sim->index(si->row(), ctn_PACKAGE_NAME_COLUMN);
si = sim->itemFromIndex(miName);
}
QPoint p;
gPoint = tvPackages->mapToGlobal(event->pos());
QFuture<QString> f;
disconnect(&g_fwToolTip, SIGNAL(finished()), this, SLOT(execToolTip()));
f = QtConcurrent::run(showPackageInfo, si->text());
g_fwToolTip.setFuture(f);
connect(&g_fwToolTip, SIGNAL(finished()), this, SLOT(execToolTip()));
}
else return false;
}
else if (this->parent()->objectName() == "tvTransaction")
{
QTreeView* tvTransaction = qobject_cast<QTreeView*>(this->parent());
QStandardItemModel *sim = qobject_cast<QStandardItemModel*>(tvTransaction->model());
if (sim->rowCount() == 0) return false;
QStandardItem *si = sim->itemFromIndex(index);
if (si)
{
//If it's really a package in the Transaction treeview...
QString pkgName=si->text();
//We have to separate Repository from Package Name, first
int slash = pkgName.indexOf("/");
if (slash != -1)
{
pkgName = pkgName.mid(slash+1);
}
if (si->icon().pixmap(22, 22).toImage() ==
IconHelper::getIconInstallItem().pixmap(22, 22).toImage() ||
si->icon().pixmap(22, 22).toImage() ==
IconHelper::getIconRemoveItem().pixmap(22, 22).toImage())
{
QStandardItemModel *modelPackages = MainWindow::returnMainWindow()->getModelPackages();
QList<QStandardItem*> foundItems =
modelPackages->findItems(pkgName, Qt::MatchExactly, ctn_PACKAGE_NAME_COLUMN);
if (foundItems.count() > 0)
{
QStandardItem *siFound = foundItems.at(0);
QPoint p;
gPoint = tvTransaction->mapToGlobal(event->pos());
QFuture<QString> f;
disconnect(&g_fwToolTip, SIGNAL(finished()), this, SLOT(execToolTip()));
f = QtConcurrent::run(showPackageInfo, siFound->text());
g_fwToolTip.setFuture(f);
connect(&g_fwToolTip, SIGNAL(finished()), this, SLOT(execToolTip()));
}
}
else
{
QToolTip::hideText();
}
}
}
return true;
}
示例12: helpEvent
/*
* Called every time user positions mouse over package's treeview items
*/
bool TreeViewPackagesItemDelegate::helpEvent ( QHelpEvent *event, QAbstractItemView*,
const QStyleOptionViewItem&, const QModelIndex &index )
{
if (this->parent()->objectName() == "tvPackages")
{
QTreeView* tvPackages = qobject_cast<QTreeView*>(this->parent());
PackageModel* sim = qobject_cast<PackageModel*>(tvPackages->model());
if (sim == NULL || sim->getPackageCount() == 0) return false;
const PackageRepository::PackageData*const si = sim->getData(index);
if (si != NULL)
{
QPoint p;
gPoint = tvPackages->mapToGlobal(event->pos());
QFuture<QString> f;
disconnect(&g_fwToolTip, SIGNAL(finished()), this, SLOT(execToolTip()));
f = QtConcurrent::run(showPackageInfo, si->name);
g_fwToolTip.setFuture(f);
connect(&g_fwToolTip, SIGNAL(finished()), this, SLOT(execToolTip()));
}
else return false;
}
else if (this->parent()->objectName() == "tvTransaction")
{
QTreeView* tvTransaction = qobject_cast<QTreeView*>(this->parent());
QStandardItemModel *sim = qobject_cast<QStandardItemModel*>(tvTransaction->model());
if (sim->rowCount() == 0) return false;
QStandardItem *si = sim->itemFromIndex(index);
if (si)
{
//If it's really a package in the Transaction treeview...
QString pkgName=si->text();
//We have to separate Repository from Package Name, first
int slash = pkgName.indexOf("/");
if (slash != -1)
{
pkgName = pkgName.mid(slash+1);
}
if (si->icon().pixmap(22, 22).toImage() ==
IconHelper::getIconInstallItem().pixmap(22, 22).toImage() ||
si->icon().pixmap(22, 22).toImage() ==
IconHelper::getIconRemoveItem().pixmap(22, 22).toImage())
{
gPoint = tvTransaction->mapToGlobal(event->pos());
QFuture<QString> f;
disconnect(&g_fwToolTip, SIGNAL(finished()), this, SLOT(execToolTip()));
f = QtConcurrent::run(showPackageInfo, pkgName);
g_fwToolTip.setFuture(f);
connect(&g_fwToolTip, SIGNAL(finished()), this, SLOT(execToolTip()));
}
else
{
QToolTip::hideText();
}
}
}
return true;
}