Question

L'utilisation d'un QListView et QStandardItemModel, est-il possible d'afficher les icônes dans la liste sans afficher le texte? QStandardItem est défini comme ceci:

QStandardItem ( const QIcon & icon, const QString & text ) 

Il semble donc d'exiger une chaîne de texte de quelque sorte - je ne veux que l'icône affichée. Si j'utilise le code suivant, je reçois les icônes comme l'a demandé, mais je reçois aussi un élément de texte vide en dessous. Je ne veux pas.

ImageListView->setViewMode( QListView::IconMode );
{
     QStandardItemModel *iStandardModel = new QStandardItemModel(this);
     QStandardItem* item1 = new QStandardItem(QIcon("images/shield-280x280.png"),"");
     QStandardItem* item2 = new QStandardItem(QIcon("images/shield-280x280.png"),"");

     iStandardModel->appendRow(item1);
     iStandardModel->appendRow(item2);
     ImageListView->setIconSize(QSize(100,100));
     ImageListView->setUniformItemSizes(true);
     ImageListView->setDragDropMode(QAbstractItemView::DropOnly);
     ImageListView->setModel(iStandardModel);
}

Si je vais à la peine de construire un modèle personnalisé, puis-je résoudre ce problème?

Était-ce utile?

La solution

Oui, vous pouvez le faire.

D'abord, vous créez un délégué associé à la liste-view.Then,

Lors de l'insertion des éléments à ListView, utilisez la fonction-ensemble de données pour insérer l'icône et en cas de peinture de délégué vous manipulez l'icône de dessin. J'espère que son clair.

Autres conseils

Comment afficher des icônes sans texte QListWidget?

du poste ci-dessus, vous pouvez utiliser NULL pour se débarrasser de cet espace vide

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top