QT Signal-Slot-Problem zwischen mehreren Klassen



  • Hallo zusammen,

    ich habe das folgende Signal-Slot-Problem. In der main.cpp habe ich ein QMainWindow-Objekt mit dem Bezeichner "w" definiert und mit w.show gestartet.
    Aus dem Hauptmenü heraus kann ein Dialog der aus der Klasse QDialog abgeleitet ist. Nun möchte ich beim Anklicken des OK-Buttons des Dialogs im Hauptfenster ein bestimmtes Formular einblenden. Der dazugehörige Slot ist in der mainwindow.cpp implementiert und fuktioniert auch, wenn ich ihn innerhalb des Hauptfensters aufrufe.

    Wie kann ich jetzt diesen Slot des Objektes "w" innnerhalb der Klasse des Dialogs mit dem Bezeichner "NewBodyweightModes" ansprechen? Da "w" in main.cpp definiert wurde, ist es innerhalb der Klasse "NewBodyweightModes" nicht bekannt.

    Definition einen weiteren MainWindow-Objektes wie unten, scheint nicht der richtige Weg zu sein.

    void NewBodyweightModes::on_okButton_clicked()
    {
        MainWindow w2;
        w2.clearForm();  //Ein public slot der Klasse MainWindow
    }
    

    Kann mir da jemand helfen?

    Viele Grüße
    Martin



  • So... nach langem Herumprobieren habe ich es endlich geschafft. Die Lösung war ein Zeiger auf den Dialog-OK-Button im Kostruktor des Hauptfensters und danach QObject::connect(...).

    Viele Grpße
    Martin



  • Das hört sich alles nicht wirklich sinnvoll an. Dir fehlen Grundlagen.


Anmelden zum Antworten