Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : zugriff auf widget aus einer anderen klasse ?



Mat
11-10-2005, 20:08
hallo,
ich habe probleme auf eine combobox einer anderen klasse zuzugreifen.
ichwilleigentlich nur ihren inhalt auslesen ...

jetzt ist es so...ich instanziiere in der klasse2 ein OBjekt der klasse1 die eben die combobox enthält und greife in klasse2 so darauf zu:
in klasse2:
Class1 class1;
class1.combobox->text();

dabei erhalte ich aber immer nur den intialwert der klasse da ich ja ein objekt erstelle. aber wie kann ich denn aktuell wenn ich auf einen button drücke erst dann das auslesen was in der kombobox ist ?
also die änderung ?

SeeksTheMoon
11-10-2005, 22:25
welche Sprache verwendest Du denn?
Wenn die Combobox vor Zugriff geschützt ist, also private ist, dann kannst Du da auch nicht drauf zugreifen.
Du musst eine getter-Methode verwenden die Dir Zugriff auf die Box erlaubt.
Ist der nicht vorhanden, musst Du wohl eine eigene Klasse von diesem Widget ableiten und dort den Zugriff erlauben - sofern das nach Erben geht (in C++ müsste die Box protected statt private sein)

anda_skoa
12-10-2005, 13:15
Du brauchst nur immer die selbe Instanz von Class1 benutzen, also zB sie am Heap erzeugen (mit new) und dann immer den selben Pointer benutzen, oder als Member der Klasse.

Beispiel:


class Foo
{
public:
void set(int i) { m_number = i; }
int get() const { return m_number; }
};

class Bar
{
public:
void setFoo(int i) { m_foo.set(i); }
int getFoo() const { return m_foo.get(); }

private:
Foo m_foo;
};


Ciao,
_