Salut a tous,
Alors je vous explique ce que je veux faire :
J'ai edité un fichier xml avec une certaine hierarchie, contenant des menus et les éléments de ces menus, sous la forme :
Je veux maintenant créer un menu dans lequel il y aura chaque élément de ce fichier xml. Je me sers du nom pour afficher dans le menu, et à l'aide du path je lance ce que contient le menu ( document ou raccourci vers application) à l'aide d'un StartDetached.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <Menu > <element> <nom></nom> <path></path> </element> <element> <nom></nom> <path></path> </element> </Menu>
Cependant voila, pour chaque élément de mon menu, je dois créer une action,
que j'utiliserais lors de la création de mon Qmenu (avec Addaction).
La seule solution pour créer plusieurs actions (le même nombre que celui d'éléments) que j'ai trouvée, c'est un QVector<QAction *>.
Lorsque je crée une action, je fais :
Et pour ajouter une action à un menu, je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 QVector<QAction *> list; list.append(new QAction((nom),this));
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 for(int j=0;j<=i;j++) // i est mon nombre d'actions crées, je fais un menu avec i actions. { menu.addAction(list[j]); }
Le problème est la : lorsque le menu devrait s'afficher : "prog.exe a cessé de fonctionner" ...... Cela vient surement de mon appel a list[i] dans addaction, mais je ne vois pas ou ni pourquoi ??
Merci pour vos réponses
Partager