Seite 1 von 1

von anderer Klasse auf MainGui Class zugreifen

Verfasst: 21. Juni 2010 20:55
von hamburger
Hallo! Ich versuche nun seid gut 9 Stunden die Komunikation zwischen meiner klasse :

Code: Alles auswählen

class Memory
   {
       private:
         DWORD AddressX;
         DWORD AddressY;
       public:
         int MemRead(DWORD Addr);

       ~Memory
       { } 
}; 
Meine klasse hat noch mehr Funktionen aber das ist ja fürs Beispiel egal.

Nun habe ich die GUi Class die siht so aus.

Code: Alles auswählen

class Farmcrawler : public QWidget {
    Q_OBJECT
public:
    void LogText(const QString logtext);
    Farmcrawler(QWidget *parent = 0);
    ~Farmcrawler();

protected:
    void changeEvent(QEvent *e);

private:
    Ui::Farmcrawler *ui;

  }
private slots:
    void on_comboBox_currentIndexChanged(QString );
    void on_commandLinkButton_2_clicked();
    void on_commandLinkButton_clicked();
};
So nun möchte ich aus der Klasse Memory auf die Funktion Logtext zugreifen die wie folgt aussiht:

Code: Alles auswählen

void Farmcrawler::LogText(const QString logtext)
{
    ui->textEdit->insertPlainText(logtext);
    ui->textEdit->insertPlainText("\n");
}
Kurz gesagt ich habe ein Programm das einen Aktuellen Status in einer Listbox (InfoLog Box) ausgeben soll. Die Funktion funktioniert natürlich wenn ich sie aus der eigenen Classe aufrufe jedoch leider nicht wenn ich sie aus Memory aufruge (Ist ja auch logisch habe ja kein Obj das ich angeben kann). Wäre über hilfe erfreut ich komme komplett nicht weiter[/code]

Verfasst: 21. Juni 2010 21:23
von Christian81
Und wo genau ist jetzt das Problem?

Verfasst: 21. Juni 2010 22:12
von hamburger
Ganz einfach, ich würde gern wissen wie man von der Klasse Memory auf die MainGui Class zugreifen kann

Verfasst: 21. Juni 2010 22:36
von franzf
Kommunikation findet nicht zwischen Klassen statt, sondern zwischen Objekten (statische Funktionen außen vor gelassen). Um auf ein Objekt (=Instanz einer Klasse) zugreifen zu können, muss eben dieses Objekt bekannt sein - Referenz oder Zeiger übergeben.
In deinem Fall: Gib der Klasse Memory einen Pointer auf ein MainGui als Member und setze es entsprechend über den Konstruktor.
Da dies aber rein gar nix mit Qt zu tun hat -> move to C++ Grundlagen.