Frage

[Kreuz geschrieben wieder Mahalo Antworten]

Mein Perl / Tk-Skript eine erste Tabelle wie Gitter hat angezeigt, die Tk::TableMatrix::Spreadsheet Module verwenden. Meine Tabelle ist programmatisch $ss genannt. Dieser erste Raster wird vor der Anzeige der ersten Tabelle abgewischt mit

$ss->pack('forget');

Das Skript, wie es jetzt ist, auch ergänzt $mw-> pack('forget');, aber das ist nicht notwendig.

Meine Frage ist, wie eine zweite Datei zu öffnen, aus der Datei -> Öffnen Dialogfeld und die erste Datei angezeigt auszulöschen, wie nur die erste Datei die ursprünglichen Gitter aus wischt? Im Augenblick ist die zweite Datei zeigt sich als eine komplett neue Rahmen unter der nach wie vor angezeigt erste Tabelle.

Danke für die Hilfe im Voraus.

War es hilfreich?

Lösung

"Pack ( 'vergessen')" entfernt lediglich ein Widget aus dem Blickfeld. Es löscht es nicht, noch tut es nichts mit den darin angezeigten Daten. Wenn Sie das Widget zerstören fehlschlagen haben Sie in der Tat ein großer Speicherverlust wie schaffen Sie mehr und mehr Tabelle Widgets.

Die schnellste Lösung für Ihr Problem ist das alte Widget (mit der Methode destroy) und neu erstellen mit den neuen Daten zu zerstören. Eine weitere Lösung ist das Widget zu halten, sondern verwenden DeleteRows () alle vorhandenen Daten zu entfernen, bevor die Daten für die neue Datei eingefügt wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top