Qt Creator Connection

Alles rund um die Programmierung mit Qt
Antworten
BenChi
Beiträge: 3
Registriert: 15. September 2011 16:10

Qt Creator Connection

Beitrag von BenChi »

Hallo,

ich arbeite mich nun eine Weile in Qt ein (habe es ihm Studium kennen gelernt).
Nun habe ich ein wenig mit dem Qt Creator rumprobiert, und soweit klappt auch alles ganz gut.
Nun wollte ich mal zwei Widgets mit dem Signal/Slot Mechanismus verbinden, und zwar, indem in einen PushButton auf dem einen Widget mit dem anderen Widget kombiniere (Pushbutton (clicked()) -> Widget (show()) , also ich klicke auf den Button, dann zeigt bzw. öffnet sich das andere Widget.
Leider kann ich im Creator ja das Signal des Pushbuttons nicht über das Widget hinaus aufs andere Widget ziehen.
Wie kann ich dies sonst im Qt Creator anstellen?

Danke schon mal für eure Hilfe
Zuletzt geändert von BenChi am 16. September 2011 12:08, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Qt Creator Connection

Beitrag von Christian81 »

MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
BenChi
Beiträge: 3
Registriert: 15. September 2011 16:10

Re: Qt Creator Connection

Beitrag von BenChi »

Also habs mir durchgelesen und ausprobiert, funktioniert aber nicht:

class neu : public QWidget
{
Q_OBJECT

public:
neu();
~neu();
neu* naechstesFenster; //Dieses Fenster soll dann aufgehen mit dem slot show();

signals:
void buttonClicked();

private:
QPushButton* Button;
};

in main weiße ich dem pointer naechstesFenster denn den Wert zu (der this Zeiger der anderen Instanz).
außerdem ist dies der Konstruktor der Klasse neu:

neu::neu()
{
naechstesFenster = NULL;
Button = new QPushButton(this);
QObject::connect(Button, SIGNAL(clicked()), this, SLOT(close()));
QObject::connect(Button, SIGNAL(clicked()), naechstesFenster, SLOT(close()));
}



MOC, kompiliert und gelinkt wird ohne Probleme, nur der Klick auf den Button schließt eben nur das eine Fenster, öffnet aber nicht das andere.
Was mache ich da falsch?
BenChi
Beiträge: 3
Registriert: 15. September 2011 16:10

Re: Qt Creator Connection

Beitrag von BenChi »

Ich hab grad was ausbrobiert: Wenn ich die QObject::Connect in der main funktion schreibe, dann gehts, wenn ich die aber im Konstruktor der Klasse ausführen lasse, tut sich nichts.
Woran liegt das denn?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Qt Creator Connection

Beitrag von Christian81 »

Wenn man das Program auf der Kommandozeile ausführt sieht man Fehler die auch beachtet werden sollten. Außerdem gibt connect() ein bool zurück welches man zumindest in Fehlerfällen einfach mal auswerten sollte...
Wie soll das connect() funktionieren wenn der Receiver ein NULL-Pointer ist?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten