using-declaration for non-member at class scope

Alles rund um die Programmierung mit Qt
Antworten
Qtuser84
Beiträge: 21
Registriert: 27. März 2008 16:18

using-declaration for non-member at class scope

Beitrag 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
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

Am gezeigten Code liegt das nicht.. kannst du evt. ein komplettes Testprojekt für uns anhaengen?

[edit]
selbstverstaendlich ;)
Zuletzt geändert von solarix am 18. Juni 2008 12:46, insgesamt 1-mal geändert.
Qtuser84
Beiträge: 21
Registriert: 27. März 2008 16:18

Beitrag von Qtuser84 »

Bitte kein denglish! Finde des furchtbar!

Hier der Anhang!
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag 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..
Qtuser84
Beiträge: 21
Registriert: 27. März 2008 16:18

Beitrag von Qtuser84 »

Danke dir jetzt funktioniert es!!!

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