Bonjour,

je suis en train de m'amuser avec l'architecture Model / View / Delegate et tout se passait bien jusqu'à ce que je tombe sur cette méthode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
void QItemEditorFactory::registerEditor ( QVariant::Type  type, QItemEditorCreatorBase  * creator )
Mon souci, et je ne suis apparemment pas le seul a l'avoir (#QTBUG-1065), c'est que j'aimerais bien utiliser cette fonctionnalité avec des types non prédéfinis.

Je m'explique, j'ai défini de nouveaux types du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
struct MyType
{
  // ...
};
Q_DECLARE_METATYPE(MyType);
qRegisterMetaType<MyType>("MyType");
et je voudrais pouvoir associer de manière robuste un Delegate a chacun de ces types. La méthode QItemEditorFactory::registerEditor() me semblait toute désignée (comme dans l'exemple 'Color Editor Factory'), mais pour cela il faudrait pouvoir étendre l'énumération QVariant::Type ce qui est impossible (ou alors, j'ai raté quelque chose).

Donc je fais appel a vos propositions. J'aimerais autant que possible éviter de devoir utiliser des solutions du genre QAbstractItemView::setItemDelegateForColumn(...) que je trouve peu élégantes.

Merci d'avance