Je constate que si modele est un pointeur QStandardItemModel, le delegue marche très bien. Mais si modele est un pointeur PaysTableModel (sous classe QAbstractTableModel) alors il ne fonctionne plus. Voici le code où j'ai activé volontairement QStandardItemModel *modele = new QStandardItemModel(4,2);
Pour avoir une réponse, tu devrais préciser ton problème, expliquer ce qui ne fonctionne pas (ne pas juste dire 'ça ne marche pas'), et poser une question claire.
J'aime les bandes dessinées, manhuas, manhwas, mangas, comics... Du coup j'ai fait aralosbd.fr !
Et, surtout, pourrait-on voir à quoi ressemble ta classe Delegue, car c'est visiblement une classe personnalisée (sans doute basée sur QItemDelegate ou sur QStyleItemDelegate), mais, sans avoir plus d'information, il nous sera difficile de répondre ;).
Trois petites remarques au passage:
1- Une ligne == une instruction : Nous ne sommes plus à une époque où le moindre byte d'espace disque coute la moitié d'un bras ; déclares chaque variable sur une ligne différente; cela ne changera rien au binaire exécutable généré, mais cela facilitera énormément la lecture du code
2- Tu devrais créer ta propre classe héritée de QMainWindow (appelons la MainWindow, pour faire simple) et y mettre presque tout le code de ta fonction main, qui devrait se limiter à
3- la fonction setCentralWidget() de la classeQMainWindow a pour effet d'introduire le widget indiqué dans le système de parents/enfant de la classeQMainWindow.
Cela implique que la destruction de ton instance de QMainWindow provoquera forcément l'appel de delete sur le widget en question. Or, l'appel de delete sur un pointeur dont la mémoire n'a pas été allouée avec new représente un undefined behaviour qui occasionnera sans doute un plantage à la fin de l'exécution, dans le cas présent.
Ton TableWidget doit donc impérativement être créé sous la forme d'un pointeur alloué dynamiquement avec new
Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
Problème avec delegue avec table QAbstractTableMod
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
J'aime les bandes dessinées, manhuas, manhwas, mangas, comics... Du coup j'ai fait aralosbd.fr !