[再次发布到Mahalo答案]

我的 Perl / Tk脚本有一个初始电子表格,如使用 Tk :: TableMatrix显示的网格::电子表格模块。我的电子表格以编程方式称为 $ ss 。在显示第一个电子表格之前,使用

擦除此初始网格
$ss->pack('forget');

现在的脚本也添加 $ mw->打包('忘记'); ,但这不是必需的。

我的问题是如何从文件打开第二个文件 - >打开对话框,它会清除显示的第一个文件,就像第一个文件擦除初始网格一样?现在,第二个文件显示为仍在显示的第一个电子表格下方的完整新框架。

感谢您的帮助。

有帮助吗?

解决方案

"包(忘')"只是从视图中删除小部件。它不会删除它,也不会对其中显示的数据执行任何操作。如果您未能销毁小部件,实际上在创建越来越多的电子表格小部件时会出现大量内存泄漏。

解决问题的最快方法是销毁旧窗口小部件(使用destroy方法)并使用新数据重新创建它。另一种解决方案是保留小部件,但在插入新文件的数据之前使用deleteRows()删除所有现有数据。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top