Kann leider immer noch nicht aus der Datei FileEditor.cpp auf das QTextEdit Widget in MainWindow.cpp zugreifen: Not defined in Scope.
Habe mir mal das Browser Example angeschaut: Muss Ich wirklich eine eigene QTextEdit Klasse schreiben um damit arbeiten zu können? Warum macht Qt das ganze nur so unnötig kompliziert. Mit Standard C++ kann Ich jederzeit auf Inhalte von anderen Klassen etc. zugreifen.
+++++++++++++++++++++++++++++++
Ich habe diverse Widgets in MainWindow.h + MainWindow.cpp erzeugt, auf die Ich gerne aus anderen Dateien zugreifen will, um damit zu arbeiten. Zum Beispiel:
A.) TextEditor (QTextEdit) soll von FileEditor.cpp aus erreichbar sein
B.) BrowserModule (QWebView) soll von Browser.cpp erreichbar sein
Bekomme aber jedesmal die Meldung "TextEditor was not defined in this Scope" wenn Ich diese Testweise aus FileEditor.cpp heraus aufrufen will:
Code: Alles auswählen
void FileEditor::CreateNewEmptyFile()
{
//Test Code...
TextEditor->setText("CreateNewEmptyFile triggered. This Area should be 'Empty' now.");
}
Code: Alles auswählen
void FileEditor::CreateNewEmptyFile()
{
QMessageBox *testAufruf = new QMessageBox;
testAufruf->setText("FileEditor::CreateNewEmptyFile() wurde erfolgreich aufgerufen");
testAufruf->show();
}
TextEditor ist in MainWindow.h und MainWindow.cpp deklariert und definiert:
Code: Alles auswählen
...
TextEditor = new QTextEdit(this);
TextEditor->setText("Hier wird ein einfacher Editor entstehen.\n\n Zu Beginn wird es nur einen einfachen Dateibetrachter geben.");
....
Code: Alles auswählen
void MainWindow::Neu()
{
FileEditor testAufruf;
testAufruf.CreateNewEmptyFile();
}
Am liebsten hätte Ich die Widgets in einzelnen Headern definiert, damit das ganze sauberer ist. Qt wirft wirklich alles mit C++ über den Haufen. Furchtbar.
Habe endlich eine legale Kopie von "C++ GUI Programming with Qt4" gefunden. Leider habe Ich darin keine Antwort dazu gefunden. Oder Ich habe sie übersehen.
Vielen Dank für eure Zeit
Oliver