上下文:Windows7,可选MinGW
我正在考虑为Lhogho编写一个Tk界面。如果没有阅读Tkinter的来源,那么如何编写这种包装?它已经完成了C ++,Perl,Python,Tcl等。
答案 0 :(得分:4)
这取决于您希望映射的距离。
简单的方法是嵌入一个Tcl解释器,只需用正确的Tcl代码作为字符串调用Tcl_Eval()
或该系列的其他函数之一,当你可以链接C库或DLL时,这很容易做到
一旦你有了这个,你可以开始使你的界面更自然,例如提供从你的语言数据结构到Tcl / Tk内部(Tcl_Obj *)的映射,主要是为了提高性能,或者添加适当的包装来进行绑定更自然的语言。主要问题通常是使用您的语言使事件循环正常工作。
请查看perls tcl :: tk模块或pythons Tkinter以获取此示例。
另一种方法是由PerlTk完成,它试图不嵌入一个完整的Tcl解释器。可行,但更难做,因为Tk使用大量的Tcl代码用于非性能关键部分,如默认绑定脚本等。
嵌入Tcl / Tk和讨论的一些示例可以在以下位置找到: http://wiki.tcl.tk/2074