[Gelöst] Wie zweites UI einbinden?

Alles rund um die Programmierung mit Qt
Antworten
gboelter
Beiträge: 80
Registriert: 5. Dezember 2007 14:52
Wohnort: Davao City, Philippines

[Gelöst] Wie zweites UI einbinden?

Beitrag von gboelter »

Ich habe hier zwei QT4 Anwendungen, die ueber die jeweilige main.cpp aufgerufen werden.

Jetzt wuerde ich gerne die zweite Anwendung in die erste integrieren, nur wie mache ich das? Den Code einbinden, compilieren und linken klappt wunderbar, nur wird leider die zweite UI - ein Dialog zur Useranmeldung - nicht gestartet. Die entsprechende Funktion wird zwar erkannt und abgearbeitet, nur mein Dialog erscheint nicht.

Bisher habe ich die zweite Anwendung mit

Code: Alles auswählen

// main.cpp
#include <QApplication>
#include "userAnmeldung.h"

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    userAnmeldung *dialog = new userAnmeldung;
    dialog->show();
    return app.exec();
}
und

Code: Alles auswählen

//userAnmedlung.cpp
#include "userAnmeldung.h"


userAnmeldung::userAnmeldung(QDialog*)
{
// EDIT: Eigentlich sollten hier noch diese beiden Zeilen stehen,
// doch dann bekomme ich ein Segmentation fault ...
    //userAnmeldung *dialog = new userAnmeldung;
    //dialog->show();

    setupUi( this );

    connect(buttonAnmelden, SIGNAL(clicked()), this, SLOT(about()));
    connect(buttonAbbrechen, SIGNAL(clicked()), this, SLOT(getPath()));
}
// weiterer Code folgt hier ....
aufgerufen. Wenn ich aber nun in meiner Hauptanwendung die Routine mit

Code: Alles auswählen

userAnmeldung::userAnmeldung();
aufrufe, dann springt das Programm zwar in die Routine, hatte mal testweise 'ne messagebax dort eingebaut, aber die zweite UI, also die Useranmeldung, erscheint nicht. Die UI meiner Hauptanwendung dagegen erscheint einwandfrei.

Sorry, auch ich bin noch sehr unerfahren inSachen QT. Sicherlich ist das jetzt wieder ganz einfach, aber im Moment komme ich einfach nicht weiter. Fehlermeldungen auf der Konsole gibt es nicht. Ich vermute daher, dass QT hier statt dem zweiten nochmals das erste UI aufruft.

Gruss Guenther
Zuletzt geändert von gboelter am 25. Dezember 2007 09:15, insgesamt 1-mal geändert.
gboelter
Beiträge: 80
Registriert: 5. Dezember 2007 14:52
Wohnort: Davao City, Philippines

Geloest: Wie zweites UI einbinden?

Beitrag von gboelter »

Ich hab's jetzt so geloest, dass ich die beiden Zeilen

Code: Alles auswählen

    userAnmeldung *dialog = new userAnmeldung;
    dialog->show();
statt in der userAnmeldung.cpp nun in die main.cpp meines Hauptprogramms geschrieben habe.

So funktioniert es dann. Ich bin mir aber keinesfalls sicher, ob das so die eleganteste Loesung ist, werde also mal weiter drueber nachdenken.
Antworten