[QT] Widget Function von anderer Klasse aufrufen
-
Hi
Habe zwei Klassen eine heist beispiel.h eins.
class beispiel: public QWidget { public: beispiel(); ~beispiel(); QToolButton* button; };
Im Konstrukter erstelle ich ich den Button.
Jetzt habe ich noch eine zweite Klasse die change.h heisst.
class change: public QWidget { public: change(); ~change(); void button_change(); };
Jetzt will ich das ich wenn die Funktion button_change aufrufe das der Button Text geändert wird. Wie kann ich jetzt die Funktion setText() vom Widget button aufrufen aus der Klasse change ? Ich hoffe ihr wisst wie ich das meine.
Gruss
reilly
-
z.b.
class beispiel: public QWidget { public: beispiel(); ~beispiel(); QToolButton* button; };
class change: public QWidget { public: change(beispiel* pBeispiel):mBeispiel(pBeispiel){} ~change(); void button_change(){assert(mBeispiel!=0); mBeispiel->button->setText();} beispiel* mBeispiel; };
-
Danke für deine Antwort aber kannst du mir diese Zeile bitte erkären
change(beispiel* pBeispiel):mBeispiel(pBeispiel){}
was wird denn da gemacht ? was soll den mBeispiel und pBeispiel sein.
Inmoment sieht mein Konstrukor eigentlich so aus.change(QWidget* parent=0, const char* name=0);
Gruss
reilly
-
change(beispiel* pBeispiel):mBeispiel(pBeispiel){}
dem konstruktor wird ein zeiger auf eine instanz von beispiel übergeben
dann wird die membervariable mBeispiel mit pBeispiel initialisiertchange(beispiel* pBeispiel):mBeispiel(pBeispiel) { } is das gleiche wie change(beispiel* pBeispiel) { mBeispiel=pBeispiel; }
du kannst es auch so schreiben
change(QWidget* parent, const char* name=0): mBeispiel((beispiel*)parent) { }
vorausgesetzt beispiel is immer parent von change