Seite 1 von 1

public memeber zugreifen (dau frage!)

Verfasst: 4. August 2006 14:35
von mensch0815
hallo,

leider muß ich euch mit einer dau frage nerven.
ich habe mit kdevelop ein qtprokect erzeugt. darin will ich für einen selbstdefinierten slot abfragen, ob der text in einem lineedit stimmt und erst dann den next button aktivieren.
//...
#include <qvariant.h>
#include <qwizard.h>
class QLineEdit;
class Gui : public QWizard
{
Q_OBJECT
public: //...
QLineEdit* foo;
//...
public slots:
virtual void newSlot();
};

#include "Gui.h"
class Bar : public Gui {
Q_OBJECT
public:
Bar(QWidget *parent = 0, const char *name = 0);
public slots:
virtual void newSlot();
}

Bar::newSlot(){
if(foo->hasAcceptableInput())
setNextEnabled(Basic_Settings,true);
}

Fehler: hasAcceptableInput() undeclared (first use this function)

Wie kann ich denn sonst auf die Public Member zugreifen. Ich bin echt ratlos...

Verfasst: 4. August 2006 15:24
von Massimo B.
Wo ist dein #include qlineedit.h?

Verfasst: 4. August 2006 15:31
von mensch0815
paoleela hat geschrieben:Wo ist dein #include qlineedit.h?
Das steht in Gui.cpp. Vielleicht hatte ich vergessen zu sagen, dass Gui.h und Gui.cpp von Gui.ui automatisch erstellt werden.

Verfasst: 4. August 2006 18:18
von upsala
Dann schreib bei bar.cpp auch noch ein #include dazu...

Verfasst: 9. August 2006 16:12
von mensch0815
danke, das hat geholfen... :oops:

jetzt ist es nur die Frage, ob es Sinnvoll ist, dass automatisch die .h files in die Gui.cpp geschrieben werden und nicht in die Gui.h.
Die einzige einigermasen sinnvolle Erklärung die ich gefunden habe ist, dass so der Entwickler genau wissen muß, auf welche qt-Objekte er zugreift, nämlich in dem er die .h Dateien einbinden muß.
Andere Meinungen?

Verfasst: 11. August 2006 01:30
von FlorianBecker
Um das ganze Abszukürzen hat Qt komplette Header, damit du das nicht immer per Hand rumfieseln musst.

#include <QtCore> für die gesamten Header der Core Lib und #include <QtGui> für die Gui usw.