Hallo,
ich habe eine Situation für die mir zwar an dieser Stelle ein Workaround
einfällt, ich würde jedoch gerne verstehen, wo der Fehler in meinem Gedankengang liegt:
Ich habe in main() ein QWidget fenster vom Typ hauptfenster erzeugt und der
QApplication anwendung als mainWidget mit
anwendung.setMainWidget(fenster);
zugeordnet.
In hauptfenster habe ich die Funktion int funktion_hauptfenster() deklariert
und implementiert
Ich habe nun neben der Klasse hauptfenster noch eine weitere Klasse datenelement deklariert,
die allerdings keine Unterklasse von hauptfenster ist.
Ich will nun eine Funktion int datenelement::funktion_datenelement(); deklarieren, die
u.A. eine Funktion aufruft, die innerhalb von hauptfenster deklariert ist.
Ich habe mir gedacht, daß es so funktionieren müsste:
int datenelement::funktion()
{
....
....
qApp->mainWidget()->funktion_datenelement();
....
return(0);
}
Mein Gedanke ist (oder vielmehr war), daß der Teil des Ausdrucks "qApp->mainWidget()"
einen Zeiger auf das Objekt fenster zurückliefert, was ja mein mainWidget tatsächlich ist,
das ich dann dazu benutzen kann, um die funktion_datenelement() aufzurufen.
Der Compiler meckert, "funktion_datenelement() undeclared".
Irgendwie hab ich da vielleicht grundsätzlich mit den Klassen und den Gültigkeitsbereichen was falsch verstanden, komme aber einfach nicht drauf.
Wenn zur Erklärung noch Code benötigt wird, bitte mitteilen.
Vielen Dank für alle Bemühungen.
Grüße aus München
[gelöst] MainWindow Funktion nicht vorhanden?
Re: Ochse vorm Berg...
Du sagst doch selbst, dass dir qApp->mainWidget() nen Zeiger auf dein Hauptfenster zurueckliefert. Wie kommst also auf die Idee, dass du dann fuer dein Hauptfenster-Objekt die Funktion funktion_datenelement() aufrufen kannst, wo du doch selbst sagst, dass die Klasse datenelement nicht mit hauptfenster zutun hat?Christoph hat geschrieben:
Mein Gedanke ist (oder vielmehr war), daß der Teil des Ausdrucks "qApp->mainWidget()"
einen Zeiger auf das Objekt fenster zurückliefert, was ja mein mainWidget tatsächlich ist,
das ich dann dazu benutzen kann, um die funktion_datenelement() aufzurufen.
Der Compiler meckert, "funktion_datenelement() undeclared".
Goos
Re: Ochse vorm Berg...
Toll, Du Ochse 
Normalerweise lese ich solche Sachen nicht, wenn die Leute nicht mal in der Lage sind einen vernünftigen Betreff zu formulieren. 'Brauche Hilfe' ist genau so toll. Sehr hilfreich für Leute die nur mal so ins Forum gucken.
Normalerweise lese ich solche Sachen nicht, wenn die Leute nicht mal in der Lage sind einen vernünftigen Betreff zu formulieren. 'Brauche Hilfe' ist genau so toll. Sehr hilfreich für Leute die nur mal so ins Forum gucken.
Code ist immer gut, aber Du hast wahrscheinlich nur vergessen dem Compiler mitzuteilen, was für einen Zeiger mainWidget() zurück liefert. Erraten kann er es nicht.Christoph hat geschrieben:Irgendwie hab ich da vielleicht grundsätzlich mit den Klassen und den Gültigkeitsbereichen was falsch verstanden, komme aber einfach nicht drauf.
Wenn zur Erklärung noch Code benötigt wird, bitte mitteilen.