Object von klasse A in klasse B lesen
-
Hallo alle Zusammen,
folgende Anwendung habe ich:HeaderFile:
class MainWindow: public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = 0, Qt::WFlags flags = 0); ~MainWindow(); QString getKundeNumberLineEdit() const; void setKundeNumberLineEdit(const QString &value); };
cpp file
MainWindow::MainWindow(QWidget *parent, Qt::WFlags flags) : QMainWindow(parent, flags) { ui.setupUi(this); } QString MainWindow::getKundeNumberLineEdit() const { return ui.kundetNumberLineEdit->text(); } void MainWindow::setKundeNumberLineEdit(const QString &value) { return ui.kundeNumberLineEdit->setText(value); }
eine andere Klasse:
#include "MainWindow.h" class A{ ...... public: void getKundendatenUpdaten(); .... private: MainWindow * mainwindow; }; cpp File der klasse A void A::getKundendatenUpdaten() { if(!mainwindow->getKundeNumberLineEdit().isEmpty()) // hier tritt eine Fehlermeldung (Object gar nicht initialisiert bzw. = NULL) { //Wie soll ich das Object setzen? //Sorry für die blöde Frage } }
-
Ich hab schon viele schwachsinnige Funktionsnamen gesehen - aber der kommt in meine top ten:
getKundeNumberLineEditSo wird das nix - auch nicht mit dem NachtBarn. Ganz öffensichtlich der falsche Beruf, den du gewählt hast. Wie wär's mit Klempner?
Wobei mein größeres Problem ist, dass mich momentan eines meiner Nasenhaare stört.
Obwohl.
getKundendatenUpdaten
ist auch nicht schlecht.Ich weis wo dein Haus wohnt! Oder was?
-
nach deine Meinung habe ich dich nicht gefragt.
Es ist doch egal wie die FKT heisst. Es ist nur einen Beispiel
-
Du hast doch sicher irgendwo eine Instanz von A erstellt. Du musst dieser Instanz doch einfach irgendwie den Zeiger auf MainWindow übergeben. Das kann im Konstruktor von A passieren oder du bastelst dir einen Setter in A.
A:setMainWindow(MainWindow* mw) { mainwindow = mw; }
Ein check auf 0 wäre hier nicht schlecht. Evtl. mit Q_ASSERT.