Seite 1 von 1

using-declaration for non-member at class scope

Verfasst: 17. Juni 2008 22:23
von Qtuser84
Servus, hab gerade mit dem Qt Designer ein QMainWindow erstellt.

Hab dies bis jetzt einmal erfolgreich zum laufen gebracht.
Dieses beispiel hier jedoch nicht.

Es kann eigentlich nur an meiner .cpp und .h Aufteilung liegen aber wo?
Hab Qt 4.3.4, noch Windows XP, und leider nichts gefunden das dieses Problem beheben konnte.
Bin mal über #include <QMainWindow> gestolpert. Hat aber nichts gebracht.


Code: Alles auswählen

// main.cpp

#include <QApplication>

#include "designer.h"

int main(int argc, char *argv[])
{
	QApplication app(argc, argv);
	designer bild;
	bild.show();
	return app.exec();
}

// designer.cpp

#include <iostream>
#include <QtGui>


using namespace std;

#include "designer.h"

designer::designer(QMainWindow *parent )
	: QMainWindow(parent)
{
  ui.setupUi(this);
}

// designer.h

#ifndef _DESIGNER_H
#define _DESIGNER_H

#include "ui_designer.h"

class designer : public QMainWindow
{
  Q_OBJECT

public:
  designer(QMainWindow *parent = 0);

private:
  Ui::designer ui;
};

#endif // _DESIGNER_H


Fehlermeldung:

In file included from designer.cpp:7
designer.h:14:error: using-declaration for non-member at class scope
designer....

Könnte mir jemand behilflich sein? Ich weiß nicht mehr weiter

Verfasst: 18. Juni 2008 09:05
von solarix
Am gezeigten Code liegt das nicht.. kannst du evt. ein komplettes Testprojekt für uns anhaengen?

[edit]
selbstverstaendlich ;)

Verfasst: 18. Juni 2008 10:21
von Qtuser84
Bitte kein denglish! Finde des furchtbar!

Hier der Anhang!

Verfasst: 18. Juni 2008 13:06
von solarix
Wenn du im Designer Code aus einer UI erzeugst, wird die Klasse gleich wie das Objekt benannt (Property "objectName").

Also:

Code: Alles auswählen

class designer1 : public QMainWindow
{
  [...]
private:
  // Ui::designer ui;
  Ui::MainWindow ui;
};
Die Fehlermeldung ist compilerabhaengig und in deinem Fall wirklich nicht sehr anwenderfreundlich..

Verfasst: 18. Juni 2008 13:37
von Qtuser84
Danke dir jetzt funktioniert es!!!

Mich würd interessieren wie man auf die Lösung kommt!! : )