Signal/Slots in PIMPL-Private-Klasse



  • Hi,

    ich nutze QTs PIMPL-Implementierung mit Q_DECLARE_PRIVATE und Q_DECLARE_PUBLIC.

    Nun habe ich eine private Klasse in der Quellcodedatei. Auch in dieser möchte ich jetzt gerne Signale und Slots verwenden. Wie kann ich das machen? Der moc-Compiler läuft ja nicht durch Quellcodedateien. Andererseits ist ja gerade der Witz von PIMPL, dass ich beim Hinzufügen von Signalen/Slots, welche nur die private Klasse betreffen, nicht extra im Header etwas ändern muss.

    Leider war meine Googlesuche bislang nicht erfolgreich 😞 Jemand Ideen?

    Zusatzinfo: Ich nutze MSVC, kann also nichts in der pro-Datei ändern.

    Gruß
    Eisflamme



  • Du musst in die cpp Datei #include "dateiname.moc" schreiben. Die gibts noch nicht, aber wenn du qmake ausführst, wird sie angelegt.
    Ich weiß jetzt nicht, ob man das unbedingt ganz unten hinschreiben muss, habs mir so angewöhnt.



  • Krasser Trick, klappt, dankeschön 🙂


Log in to reply