Ich möchte mit einem pushButton einen anderen Dialog öffnen.
Dazu habe ich eine eine Klasse von QMainWindow abgeleitet, bzw, hat das der Designer gemacht
#ifndef TEST_H
#define TEST_H
#include <QtGui/QMainWindow>
#include "ui_test.h"
class test : public QMainWindow
{
Q_OBJECT
public:
test(QWidget *parent = 0, Qt::WFlags flags = 0);
~test();
private:
Ui::testClass ui;
private slots:
void openLogin();
};
Ich hab dann einen private slot deklariert mit dem ich den neuen Dialog öffnen wollte, den der Designer von QDialog abgeleitet hat.
Die Implementierung sieht dann so aus:
#include "test.h"
test::test(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);
connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(openLogin()) );
}
test::~test()
{
}
//das habe ich von hier: http://www.qtcentre.org/forum/faq.php?f ... ner_2forms
void test::openLogin()
{
Login login(this);
login.exec();
}
Leider kennt er Login nicht und der Compiler wirft folgende Fehlermeldung raus:
.\test.cpp(17) : error C2065: 'Login': nichtdeklarierter Bezeichner
Das ändert sich auch nicht, wenn ich die die login.h include in der die von QDialog abgeleitete Klasse Login deklariert ist.
Wie kann ich diese beiden Klassen denn miteinander verküpfen bzw. die Dialogklasse modal aufrufen?
Meine main.cpp sieht so aus:
#include <QtGui/QApplication>
#include "test.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
test w;
w.show();
a.connect(&a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()));
return a.exec();
}
Schon mal vielen Dank für eure Hilfe, denn ich komme hier einfach nicht weiter.