Bonjour à tous,
Alors dans un projet global de carnet d'adresses permettant de visualiser une lsite de contacts sous formes de tableurs, j'ai écris une classe dérivant de QTreeWidgetItem afin de rajouter un numéro d'identifiant propre, ainsi que deux listes stockant des ID.
Ces item servent, lorsque l'on doubleclic dessus, à afficher seulement les contacts dont les ID sont présent dans la liste du dit item.
J'ai également ré-écris le QTreeWidget pour gérer le clic droit.
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 class MyQTreeWidgetItem : public QTreeWidgetItem { //Q_OBJECT public : MyQTreeWidgetItem(); MyQTreeWidgetItem(MyQTreeWidget *parent, int type); ~MyQTreeWidgetItem(); QList<uint> *m_pListId; QList<uint> *m_pListCorpId; uint GetID(); void SetID(uint a_uiID); protected : uint m_uiID; };
Le truc c'est que lorsque je veux utiliser la fonction currentItem() de QTreeWidget, il me renvoie un pointeur de QTreeWidgetItem et non pas de MyQTreeWidgetItem ce qui est normal.
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 class MyQTreeWidget : public QTreeWidget { Q_OBJECT public : MyQTreeWidget(); MyQTreeWidget(QWidget *pParent); MyQTreeWidgetItem* GetCurrentItem() const; signals : void signalContextMenu(const QPoint &); private slots : void mousePressEvent(QMouseEvent *e); };
J'aimerais donc ré-écrire la fonction pour qu'elle me renvoie un pointeur du bon type.
Sauf que je ne vois pas trop comment faire cette fonction car je ne trouve pas les sources de la fonction dans QT .. sinon il faudrait une fonction de conversion type "QTreeWidgetItem.toMyQTreeWidgetItem" mais pareil, je ne vois pas trop comment m'y prendre.
Est ce que quelqu’un aurait une idée ou bien connaîtrais une autre façon de procéder avec ce type d'héritage ?
Merci beaucoup, des bisous
Partager