Question

[Croix postée à nouveau pour les réponses Mahalo]

Mon script Perl / Tk a une feuille de calcul initiale comme une grille affichée à l'aide du Tk :: TableMatrix :: Modules de calcul . Ma feuille de calcul est appelée par programme $ ss . Cette grille initiale est effacée avant l’affichage de la première feuille de calcul, avec

$ss->pack('forget');

Le script actuel ajoute également $ mw- > pack ('oublier'); , mais ce n'est pas nécessaire.

Ma question est de savoir comment ouvrir un deuxième fichier à partir du fichier Fichier - > Ouvrez la boîte de dialogue et supprimez le premier fichier affiché, tout comme le premier fichier supprime la grille initiale? À l’heure actuelle, le deuxième fichier apparaît sous forme de nouvelle image complète sous la première feuille de calcul toujours affichée.

Merci de l'aide à l'avance.

Était-ce utile?

La solution

" pack ('oublier') " supprime simplement un widget de la vue. Il ne le supprime pas et ne fait rien avec les données affichées. Si vous ne parvenez pas à détruire le widget, vous aurez une grosse fuite de mémoire lorsque vous créez de plus en plus de widgets de feuille de calcul.

La solution la plus rapide à votre problème consiste à détruire l'ancien widget (à l'aide de la méthode destroy) et à le recréer avec les nouvelles données. Une autre solution consiste à conserver le widget mais à utiliser deleteRows () pour supprimer toutes les données existantes avant d'insérer les données du nouveau fichier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top