Bonjour à tous,
Dans le cadre d'un projet de carnet d'adresses, donc simplement une QList<MyContact> pour effectuer le stockage des données, j'affiche les différents paramètres de chacun des contacts dans une QTabelWidget via les lignes de code suivantes :
L'affichage se fait correctement, mais j'ai une fonction d'édition de contact qui devrait fonctionner à partir d'une ligne sélectionnée de la QTableWidget et m’afficher dans une fenêtre secondaire les données du contact.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 void MyMainWindow::LoadContactList() { if(m_MyPhoneBook.m_pSheetList->count() < 1) return; if(m_MyPhoneBook.m_pSheetListCorp->count() < 1) return; m_pTableWidgetContact->setRowCount(m_MyPhoneBook.m_pSheetList->count()); //Chargement des contacts dans le tableur for(int i = 0 ; i < m_MyPhoneBook.m_pSheetList->count() ; ++i) { //Récupération et affichage des infos du contact QTableWidgetItem *item0 = new QTableWidgetItem; item0->setData(Qt::DisplayRole, m_MyPhoneBook.m_pSheetList->at(i)->GetContactCivility()); item0->setFlags(item0->flags() & ~Qt::ItemIsEditable); m_pTableWidgetContact->setItem(i, 0, item0); QTableWidgetItem *item1 = new QTableWidgetItem; item1->setData(Qt::DisplayRole, m_MyPhoneBook.m_pSheetList->at(i)->GetContactName()); item1->setFlags(item1->flags() & ~Qt::ItemIsEditable); m_pTableWidgetContact->setItem(i, 1, item1); //etc pour chacun des contacts et cela sur 27 colonnes }
Sauf que je n'arrive à récupérer aucun élément de la ligne ..
Mon soucis est donc de pouvoir récupérer l'ID du contact, paramètres pouvant être présent sur la ligne en question dans une cellule, et de parcourir ma QList en cherchant cet ID.
Je ne peux passer par le numéro de ligne car la QTableWidget en question pourra se voir modifier via un filtre de recherche, la ligne en question ne correspondrait donc pas du tout à son index dans ma QList.
Je sais qu'il y a les méthodes via Modèle et View qui pourraient en principe fonctionner, mais ayant déjà essayé dans l'ancienne version de ce projet sans succès . Aucun affichage et erreur d'index lors du filtrage de ma liste ou du tri par ordre alphabétique, j'avais donc abandonné cette solution à l'époque (surement certains mécanismes m'ayant échappés).
J'ai également trouvé peu d’informations m'étant utiles sur les forums ou la doc car ne montrant que des exemples standards ..
Je suis partant pour retenter la solution MVC, mais si quelqu’un maîtrisant réellement ces mécanismes me donnait un coup de main
Je suis ouvert à toutes réponses, hormis les trollages habituels (cela fait plusieurs jours que j'écume les forums avant d'avoir posé ma question ^^ )
Partager