Je veux utiliser qcombobox code> en tant que
comboBox code> de
Swing code> dans
java code>. J'ai donc besoin d'utiliser
modèle code> pour tenir mon objet. Comment puis-je contenir mon objet dans Qcombobox. (Je pense que je devrais contenir des données dans le modèle car
qcombobox code> a été conçu selon le motif MVC ...)
Toute aide sera appréciée. P>
3 Réponses :
Vous pouvez ajouter un modèle à votre Votre modèle contiendra votre objet pour séparer l'affichage des données. P> qcombobox code> à l'aide du
setmodel code>
fonction. Vous pouvez utiliser un modèle prédéfini ou créer votre propre en héritant depuis qabstractTemModel code> a>. p>
Selon ce que vous souhaitez afficher avec votre Ensuite, utilisez Si vous voulez simplement afficher des chaînes, vous pouvez utiliser un qcombobox code>, vous devez écrire votre propre modèle, héritage
qabstractlistmodel code>, réimplémenter
rowcount () code> et
données () code>. p>
qcombobox :: setmodel () code> pour créer le
qcombobox code> l'afficher. P>
QStringListModel < / code>
, fourni avec qt. p>
Où placé les données (pas du texte) dans le modèle sous-classé? qcombobox :: Modèle () -> Index (rangée, 1) code>?
QT utilise une version simplifiée de MVC qui n'a que les pièces de modèle / Vue. P>
Vous pouvez utiliser l'une des sous-classes fournies de QabstractItemModel si vous Don Il faut un comportement spécialisé, lequel à utiliser dépend de la question de savoir si vous conservez vos données dans un système de fichiers ou une structure de données en mémoire. P>
Vous devez lire la section entière sur Programmation Modèle / Afficher < / a> dans la documentation QT. P>