如何为Tk构建包装器?

时间:2012-01-08 14:52:56

标签: tkinter wrapper tk

上下文:Windows7,可选MinGW

我正在考虑为Lhogho编写一个Tk界面。如果没有阅读Tkinter的来源,那么如何编写这种包装?它已经完成了C ++,Perl,Python,Tcl等。

1 个答案:

答案 0 :(得分:4)

这取决于您希望映射的距离。

简单的方法是嵌入一个Tcl解释器,只需用正确的Tcl代码作为字符串调用Tcl_Eval()或该系列的其他函数之一,当你可以链接C库或DLL时,这很容易做到

一旦你有了这个,你可以开始使你的界面更自然,例如提供从你的语言数据结构到Tcl / Tk内部(Tcl_Obj *)的映射,主要是为了提高性能,或者添加适当的包装来进行绑定更自然的语言。主要问题通常是使用您的语言使事件循环正常工作。

请查看perls tcl :: tk模块或pythons Tkinter以获取此示例。

请参阅: http://wiki.tcl.tk/13208

另一种方法是由PerlTk完成,它试图不嵌入一个完整的Tcl解释器。可行,但更难做,因为Tk使用大量的Tcl代码用于非性能关键部分,如默认绑定脚本等。

嵌入Tcl / Tk和讨论的一些示例可以在以下位置找到: http://wiki.tcl.tk/2074

相关问题