Problem mit Funktionsaufruf.

Alles rund um die Programmierung mit Qt
Antworten
KingV1k
Beiträge: 76
Registriert: 16. Oktober 2006 10:24

Problem mit Funktionsaufruf.

Beitrag von KingV1k »

Hi,

mein Problem ist folgendes. Ich habe einmal die Datei "main.cpp" und "ui_untitled.h".

main.cpp

Code: Alles auswählen

.......
QApplication app(argc, argv);
	QMainWindow *window = new QMainWindow();
	Ui::MainWindow ui;
    ui.setupUi(window);
	window->show();
    return app.exec();
.......
......
.......
void Funktionen::testfunktion()
{
	for(int i=0; i<name_counter; i++)
	{
		//cout<<array[i][0]<<"      "<<array[i][1]<<endl;
	}
	ui.comboBox->addItem("test1");
	
}
Dabei kommt folgender Compiler-Fehler:
main.cpp:380: error: `ui' was not declared in this scope
main.cpp:380: warning: unused variable 'ui'

"Wieso das kommt" ist mir klar. Aber wie mach ich es richtig?
-Marco-
Beiträge: 47
Registriert: 4. April 2006 16:35

Beitrag von -Marco- »

ui_untitled.h included?
Gruß Marco
KingV1k
Beiträge: 76
Registriert: 16. Oktober 2006 10:24

Beitrag von KingV1k »

ja klar ist ui_untitled.h included.
Mein Problem ist ja nur die Vererbung. Die Objekte um ui_untitled.h zu benutzen erstell ich ja in der main(), deswegen sind sie ja nur in der int main() gültig. ich will sie aber in der Funktion "testfunktion" benutzen. das ist mein problem.
-Marco-
Beiträge: 47
Registriert: 4. April 2006 16:35

Beitrag von -Marco- »

KingV1k hat geschrieben:ja klar ist ui_untitled.h included.
Mein Problem ist ja nur die Vererbung. Die Objekte um ui_untitled.h zu benutzen erstell ich ja in der main(), deswegen sind sie ja nur in der int main() gültig. ich will sie aber in der Funktion "testfunktion" benutzen. das ist mein problem.
ups, hab ich wohl übersehen.
Du kannst das Objekt ui global machen (ist aber unschön), es statisch deklarieren (auch nicht die feine) oder aber es der angepassten Methode Funktionen::testfunktion(Ui::MainWindow* ptrUi) übergeben.

Normalerweise packt man aber ui als Member in die Fensterklasse und läßt nur von hier aus direkte Operationen zu. Kommuniziert wird dann per öffentlicher Methoden bzw. Signal & Slot mit dieser.
Gruß Marco
KingV1k
Beiträge: 76
Registriert: 16. Oktober 2006 10:24

Beitrag von KingV1k »

für meine zwecke musste ich es leider global deklarieren. alle anderen arten wären zu aufständig oder unschön.
Goos
Beiträge: 360
Registriert: 17. August 2004 10:10
Wohnort: Black Forest

Beitrag von Goos »

KingV1k hat geschrieben:für meine zwecke musste ich es leider global deklarieren. alle anderen arten wären zu aufständig oder unschön.
Dann solltest entweder deine Ansichten, oder dein Applikationsdesign ueberdenken :)

Goos
Antworten