在命令行应用程序中使用Tk小部件

时间:2014-09-16 12:29:50

标签: tcl tk

我们遇到了与Tcl和Tk差异相关的问题。

我们使用tcltest框架为转移的xml数据提供了一个测试工具。

一般计划流程:

  • 读入xml文件并生成DOM树(使用tdom)

  • 运行测试(使用tcltest,测试生成日志输出,即设置包含相关信息的数组)

  • 读取并处理记录信息

  • 使用记录信息准备乳胶文件

  • 使用pdflatex生成pdf

在新测试中,我们希望在文档中包含图形。因此,我们在测试设置中加载Tk,在画布上准备图形并将画布写入文件。这一切都可以在一个独立的测试程序中正常工作。

但是集成到我们观察到的应用程序中,执行测试并且程序在测试文件结束时没有错误地结束,但是从不返回主程序执行最后三个步骤。 如果应用程序的剩余代码源自测试文件,则程序继续正确执行。有人知道可能出现什么问题吗?

提前致谢 joachim

1 个答案:

答案 0 :(得分:1)

当你加载Tk时,它会安装一个处理程序,它在脚本完成执行后运行事件循环。这是因为这是wish计划至少工作20年的方式; Tcl(逻辑上)用于设置应用程序和处理回调。对于大多数GUI应用程序,这绝对没问题。在你的情况下没有。

一旦您完成了所需的输出,您应该在脚本的末尾添加一个明确的exit