[gelöst]Zugriff auf Slot des QMainWindows von Childklasse

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
redbulls
Beiträge: 59
Registriert: 27. März 2011 15:20

[gelöst]Zugriff auf Slot des QMainWindows von Childklasse

Beitrag von redbulls »

Hi, ich habe eine Frage.
In meinem Programm habe ich ein QMainWindow mit einem QTabWidget.
In diesem TabWidget befindet sich ein QWidget mit ein paar Buttons. Das QWidget ist in meinem Programm eine eigene Klasse.
Das QMainWindow nimmt also ein Objekt dieser Klasse auf.
Das QMainWindow ist also der parent vom Objekt. Wie kann ich jetzt das Signal, das ein Button des Widget-Objektes auslöst mit einem Slot des QMainWindows connecten?

danke für die hilfe
Zuletzt geändert von redbulls am 3. Juni 2011 10:52, insgesamt 1-mal geändert.
sehr interessiert an Qt
Wumpi
Beiträge: 7
Registriert: 30. März 2011 13:14

Beitrag von Wumpi »

Wenn das QWidget-Objekt Member von den QMainWindow-Klasse ist, denke ich, dass es so funktioniert:

In der QMainWindow-Klasse:

Code: Alles auswählen

connect(WidgetName.button, SIGNAL(clicked()), this, SLOT(buttonClicked()));
redbulls
Beiträge: 59
Registriert: 27. März 2011 15:20

Beitrag von redbulls »

Ok danke :D,
das heißt ich muss das connect in der QMainWindow Klasse herstellen.
Kann ich die Verbindung nicht innerhalb des QWidget Objekts herstellen?
sehr interessiert an Qt
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Wenn dort der Pointer bekannt ist, ja -> C++ Grundlagen würde ich sagen ...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
redbulls
Beiträge: 59
Registriert: 27. März 2011 15:20

Beitrag von redbulls »

Der Pointer ist bekannt. Ist ja das parent, aber leider komm ich darüber nicht zu dem Slot.
sehr interessiert an Qt
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Was ist mit 'aber leider komm ich darüber nicht zu dem Slot.' gemeint?? Ein wenig genauer bzw. Code würde helfen...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
redbulls
Beiträge: 59
Registriert: 27. März 2011 15:20

Beitrag von redbulls »

Ich hab schon eine Lösung.
Ist ja kein Problem das so zu machen oder?

Code: Alles auswählen

    MainWindow* mainwindow = dynamic_cast<MainWindow*> (this->parentWidget());
    ui->setupUi(this);
    connect(ui->tbAnd,SIGNAL(clicked()),mainwindow,SLOT(getAndTab()));
sehr interessiert an Qt
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Abgesehen davon dass der cast unnötig ist, ja.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
redbulls
Beiträge: 59
Registriert: 27. März 2011 15:20

Beitrag von redbulls »

dankesehr für die Hilfen!
:D
sehr interessiert an Qt
Antworten