QT4 und QTDesigner
Verfasst: 22. September 2006 13:59
Hallo zusammen,
vorab: es ist schon ein wenig her, dass ich in C++/Qt programmiert habe, also habt Nachsicht.
So jetzt zu meinem Problem. Ich habe mit Hilfe des Designers einen Dialog erstellt, den ich jetzt natürlich auch ganz gern mal hernehmen würde. Deshalb hab ich eine Klasse von meiner ui-Datei/Klasse abgeleitet, aber irgendwie will das nicht so wie ich:
Hier ist die Klasse LoginDialogImpl:
In der Header bzw. CPP-Datei treten laut gcc keine Fehler auf nur in der main-Methode findet er irgendwie die Kon- bzw. Destruktoren nicht.
Vielen Dank schonmal!
vorab: es ist schon ein wenig her, dass ich in C++/Qt programmiert habe, also habt Nachsicht.
So jetzt zu meinem Problem. Ich habe mit Hilfe des Designers einen Dialog erstellt, den ich jetzt natürlich auch ganz gern mal hernehmen würde. Deshalb hab ich eine Klasse von meiner ui-Datei/Klasse abgeleitet, aber irgendwie will das nicht so wie ich:
Code: Alles auswählen
#include <QApplication>
//#include "ui_LoginDialog.h"
#include "ui/LoginDialogImpl.h"
#include <QWidget>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
//QWidget *w = new QWidget();
LoginDialogImpl d;// = new LoginDialogImpl(0); <-undefined reference to LoginDialogImpl::LoginDialogImpl(QWidget *)
d.show();
//d->show();
return app.exec(); <- undefined reference to LoginDialogImpl::~LoginDialogImpl
}
Code: Alles auswählen
#ifndef LOGINDIALOGIMPL_H_
#define LOGINDIALOGIMPL_H_
#include "ui_LoginDialog.h"
//#include <QDialog>
#include <QWidget>
class LoginDialogImpl : public QDialog, private Ui::LoginDialog
{
Q_OBJECT
public:
LoginDialogImpl(QWidget *parent = 0);
virtual ~LoginDialogImpl();
private:
//Ui::LoginDialog _dialog;
private slots:
void on_okButton_clicked();
void on_cancelButton_clicked();
};
#endif /*LOGINDIALOGIMPL_H_*/
#include "LoginDialogImpl.h"
#include <iostream.h>
LoginDialogImpl::LoginDialogImpl(QWidget *parent)
: QDialog(parent)
{
setupUi(this);
connect(okButton, SIGNAL(clicked()), this, SLOT(on_okButton_clicked()));
connect(cancelButton, SIGNAL(clicked()), this, SLOT(on_cancelButton_clicked()));
}
LoginDialogImpl::~LoginDialogImpl()
{
}
void LoginDialogImpl::on_okButton_clicked()
{
cout << "About to connect!" << endl;
}
void LoginDialogImpl::on_cancelButton_clicked()
{
cout << "Cancelling" << endl;
}
Vielen Dank schonmal!