gtkperl - Zugriff auf Unterobjekte
praetor
- perl
Hallo,
ich versuche, via Perl/gtk eine (für meine Verhältnisse) etwas komplexere Anwendung zu programmieren. Bis jetzt übergebe ich alle Elemente der Oberfläche (widgets) von Routine zu Routine. Dabei sind alle Elemente (buttons, entrys usw) in dem Wurzelobjekt, dem Hauptfenster, enhalten bzw. dort referenziert. Es müßte eigentlich möglich sein, über dieses Hauptobjekt auch auf alle Unterelemente zuzugreifen. Aber ich finde dafür die richtige Syntax nicht. Hat jmd. einen Tip, Link oder dgl.?
Gruß
praetor
Moin Moin !
Ich möchte fast wetten, daß es für gtkperl eine Mailing List mit entsprechendem Arciv gibt. Dort dürftest Du wesentlich besser aufgehoben sein.
Die Mailing Liste ist üblicherweise entweder in der Doku genannt oder per Google zu finden.
Alexander
Moin Moin !
Ich möchte fast wetten, daß es für gtkperl eine Mailing List mit entsprechendem Arciv gibt. Dort dürftest Du wesentlich besser aufgehoben sein.
Die Mailing Liste ist üblicherweise entweder in der Doku genannt oder per Google zu finden.
Alexander
Herzlichen Dank, Alexander.
In der Mailingliste sagt der Entwickler selbst:
$box->children() returns all the children of a box: it's up to you to
do anything with them.
Diese Funktion hatte ich schon in dem Tutorial gefunden. Dort beschränkt sich der Kommentar auf:
The following function will return a list of all the widgets in the container:
@children = $container->children();
Die Funktion gibt tatsächlich Zeigermeldungen wie
Gtk::Box=HASH(0xb65b58) aus.
Es ist mir bei vielen Versuchen trotz intensivem Studium der entsprechenden SELFHTML-Seite nicht gelungen, diese Zeiger zu "dereferenzieren". Es scheint mir eben keine Referenz auf einen normalen Hash, sondern auf ein Objekt zu sein. Vielleicht gibt es hier ja einen Fachmann, der ein einfaches Beispiel geben kann, wie man welche Klammer rsp. Pfeile, Klammeraffen oder sonstige Symbole setzen muß, um auf das Objekt wieder eine der bereitgestellten Methoden anwenden zu können - dachte ich mir jedenfalls.
Sorry, falls das zu sehr off topic ist.
Gruß
praetor
Hi praertor
Gtk::Box=HASH(0xb65b58) aus.
Es ist mir bei vielen Versuchen trotz intensivem Studium der entsprechenden SELFHTML-Seite nicht gelungen, diese Zeiger zu "dereferenzieren". Es scheint mir eben keine Referenz auf einen normalen Hash, sondern auf ein Objekt zu sein.
Immer wenn du nicht weißt, wie du auf eine Referenz zugreifen musst, solltest du dir erst einmal die ausgabe von Data::Dumper anschauen. Das kann extrem hilfreich sein. Mal ein Beispiel:
use Data::Dumper;
print Dumper $referenz.
Das löst die Referenz auf. Das ist auch sehr praktisch, um im Programmverlauf die Werte der Variablen anzuzeigen. Übrigens kann man Data::Dumper auch dazu benutzen, eine Variable zu permanent zu speichern. Man druckt die ausgabe von Dumper in eine Datei aus, liest sie wenn man den Inhalt braucht wieder aus, und lässt ein eval() darüber laufen.
Grüße Andres Freund