Perl/Tk, Listbox, listvariable Verständnisfrage

18/12/2008 - 00:45 von Ekki Plicht (DF4OR) | Report spam
Tag.

In einer Tk::Listbox sollten eine Reihe von Daten angezeigt werden, die sich
regelmàssig àndern. Ansich brauche ich die lbox nur zum Anzeigen der Werte,
der Anwender braucht da nix auswàhlen oder editieren. (Vielleicht wàre ein
anderes widget grundsàtzlich geeigneter.)

Der Option -listvariable wird beim Erzeugen der Listbox die Referenz auf ein
Array zugewiesen, das die Daten enthàlt. Das Array hat eine feste Lànge die
sich nie àndert.

Das Problem:
Die Listbox wird nicht aufgefrischt, wenn sich die Daten àndern. Ich habs
schon mit $lbox->update oder $mainwin->update probiert, tut sich aber
genauso wenig.
Erst wenn die lbox den Fokus bekommt werden die Werte (einmalig)
aktualisiert, dann weiterhin nur wenn ich entweder den Fokus weg und wieder
zurückbringe, oder bei fokussierter lbox in der Liste browse. Ich hàtte
aber gerne das da stàndig aktuelle Werte angezeigt werden, also immer der
aktuelle Inhalt des arrays, ohne das der Anwender irgendwo rumfummeln muss.

Versionen:
Tk-804.028
Perl 5.8.8

Mir ist der Hinweis in Tk::Listbox

"Switch: -listvariable
The following is only partially implemented in Perl/Tk:
[...]"

bekannt, ich kann aber eben nicht feststellen ob die partielle
Implementation die Ursache für mein Problem ist oder nicht.

Danke für Hinweise,
Ekki
 

Lesen sie die antworten

#1 Slaven Rezic
18/12/2008 - 02:41 | Warnen spam
"Ekki Plicht (DF4OR)" writes:

Tag.

In einer Tk::Listbox sollten eine Reihe von Daten angezeigt werden, die sich
regelmàssig àndern. Ansich brauche ich die lbox nur zum Anzeigen der Werte,
der Anwender braucht da nix auswàhlen oder editieren. (Vielleicht wàre ein
anderes widget grundsàtzlich geeigneter.)

Der Option -listvariable wird beim Erzeugen der Listbox die Referenz auf ein
Array zugewiesen, das die Daten enthàlt. Das Array hat eine feste Lànge die
sich nie àndert.

Das Problem:
Die Listbox wird nicht aufgefrischt, wenn sich die Daten àndern. Ich habs
schon mit $lbox->update oder $mainwin->update probiert, tut sich aber
genauso wenig.
Erst wenn die lbox den Fokus bekommt werden die Werte (einmalig)
aktualisiert, dann weiterhin nur wenn ich entweder den Fokus weg und wieder
zurückbringe, oder bei fokussierter lbox in der Liste browse. Ich hàtte
aber gerne das da stàndig aktuelle Werte angezeigt werden, also immer der
aktuelle Inhalt des arrays, ohne das der Anwender irgendwo rumfummeln muss.

Versionen:
Tk-804.028
Perl 5.8.8

Mir ist der Hinweis in Tk::Listbox

"Switch: -listvariable
The following is only partially implemented in Perl/Tk:
[...]"

bekannt, ich kann aber eben nicht feststellen ob die partielle
Implementation die Ursache für mein Problem ist oder nicht.



Höchstwahrscheinlich. Wenn du eine komfortable Lösung zum Befüllen der
Listbox suchst, dann schau mal in der Tk::Listbox-Doku unter "TIED
INTERFACE" nach. Das ist perlisch und scheint zu funktionieren.

Gruß,
Slaven

Slaven Rezic - slaven <at> rezic <dot> de

need xpm or ppm output from GD?
http://search.cpan.org/search?mode=...p;query=GD::Convert

Ähnliche fragen