problème Signal/Slot avec classes imbriquées avec Qt - C++ - Programmation
Marsh Posté le 13-05-2008 à 16:30:05
Salut,
Active la console pour voir ce que Qt dis; il peut y avoir une faute de frappe quelque part qui te sera rapporté (CONFIG += console dans le pro).
Au passage, pas besoin d'un slot pour ne faire qu'émettre un signal, un connect entre 2 signaux est aussi valable Les règles concernant les signatures doivent être respectées bien sûr; par ex:
Code :
|
est tout à fait valable et évite un slot inutile. Et pas besoin de préfixer connect de QObject:: dans les classes dérivant de QObject.
Marsh Posté le 09-05-2008 à 10:57:33
Bonjour à tous!
( linux)
Je suis en train de créer une interface graphique pour un logiciel, et j'ai un petit soucis. Alors je vais essayer d'être clair :
-j'ai une fenêtre principale
-dans cette fenêtre j'ai mis un QTabWidget
-sur une des pages de ce QTabWidget j'ai un objet qui hérite de QTreeView
-quand je clique sur un des items de cette objet j'ai une fenêtre avec des tableaux qui s'ouvre avec des infos sur l'item cliqué.
Voilà en gros mon programme. J'ai tout codé de manière indépendante, puis j'ai tout assemblé. Mon problème maintenant c'est que je veux palcer un bouton sur la fenêtre principale, et que lorsque je clique sur celui-ci, ça affecte tous les objets qui suivent y compris les tableaux que j'ouvre à la fin. Quelle manière serait la plus simple?
Moi ce que j'ai fais, c'est faire remonter un signal à tous les objets, en créant des signaux et des slots: quand je clique sur le bouton de la fenêtre principale ça emet le signal alpha, lorsque la page du QTabWidget reçoit ce signal elle emet aussi le signal alpha, idem pour le QTreeView, et lorsque mon tableau reçoit le signal alpha il fait ce qu'il a à faire.
Mais cela ne fonctionne pas. J'ai l'impression que je signal n'est transmis qu'une fois c'est-à-dire de la fenêtre principale à la page de mon QTabWidget.
Voilà les bons de codes intéressants:
Fenêtre principale:
Page concernée de mon QTabWidget
Page avec le QTreeView
Fenêtre avec les tableaux:
Pouvez-m'aider?
Merci