Existe-t-il un moyen de définir une couleur d'arrière-plan différente pour chaque élément dans un QComboBox
?Qt QComboBox avec une couleur de fond différente pour chaque article?
1
A
Répondre
4
je suppose que la seule façon de le faire serait d'écrire votre propre modèle, héritant QAbstractListModel
, réimplémentant rowCount()
et data()
où vous pouvez définir la couleur d'arrière-plan pour chaque élément (en utilisant le rôle BackgroundRole
).
Ensuite, utilisez QComboBox::setModel()
pour que le QComboBox
l'affiche.
Voici un exemple simple, où je créé mon propre modèle de liste, héritant QAbstractListModel
:
class ItemList : public QAbstractListModel
{
Q_OBJECT
public:
ItemList(QObject *parent = 0) : QAbstractListModel(parent) {}
int rowCount(const QModelIndex &parent = QModelIndex()) const { return 5; }
QVariant data(const QModelIndex &index, int role) const {
if (!index.isValid())
return QVariant();
if (role == Qt::BackgroundRole)
return QColor(QColor::colorNames().at(index.row()));
if (role == Qt::DisplayRole)
return QString("Item %1").arg(index.row() + 1);
else
return QVariant();
}
};
Il est maintenant facile d'utiliser ce modèle avec la zone de liste déroulante:
comboBox->setModel(new ItemList);
Questions connexes
- 1. HTML Réglage actif avec couleur de fond différente
- 2. Position différente de fond chaque clic
- 3. Existe-t-il une technique pour ré-aliaser une image à une couleur de fond différente?
- 4. Style d'une bordure avec une couleur de pinceau différente pour chaque coin
- 5. changeant la couleur de fond de la cellule dans qt
- 6. android listview différentes vues pour chaque article
- 7. Une étiquette différente pour chaque itération
- 8. couleur de fond ListItemRenderer
- 9. DrawCircle Android avec bordure de couleur différente
- 10. changer 3 fond de barre de navigation avec image différente
- 11. Couleur de fond UIView
- 12. couleur de fond UILabel
- 13. Comment calculer une couleur facile à lire pour une couleur de fond aléatoire?
- 14. Changer la couleur de fond de UIModalTransitionStyleFlipHorizontal
- 15. Couleur d'arrière-plan différente pour les éléments de formulaire
- 16. couleur de fond de l'élément sélectionné dans une uneditable JComboBox
- 17. Affichage de sections de code avec une couleur d'arrière-plan différente?
- 18. Joomla, afficher différents modèles pour chaque article
- 19. iPhone UITableView avec index puis-je pousser une vue détaillée différente avec chaque cellule différente?
- 20. L'IE Fieldset couleur de fond Purger Bug
- 21. Sélectionner/surligner du texte avec une couleur différente
- 22. dojox.Grid ligne couleur de fond
- 23. NHibernate, chaque propriété est remplie avec une instruction select différente
- 24. couleur de fond de uiactionsheet
- 25. Pour ajouter une couleur différente en utilisant jquery et css
- 26. UIDate Picker couleur de fond
- 27. hauteur différente pour chaque ligne dans UITableView
- 28. QComboBox: select on Key_space
- 29. couleur de fond JQuery DatePicker
- 30. couleur de fond dans opengl
Merci beaucoup! Je vais essayer ça. –