gpt4 book ai didi

tkinter - 如何为 Tk 构建包装器?

转载 作者:行者123 更新时间:2023-12-02 21:19:28 25 4
gpt4 key购买 nike

上下文:Windows7,可选 MinGW

我正在考虑为 Lhogho 编写一个 Tk 接口(interface)。如果不阅读 Tkinter 的源代码,如何编写这种包装器呢?它已针对 C++、Perl、Python、Tcl 等完成。

最佳答案

这取决于您希望映射的接近程度。

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

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

查看 perls tcl::tk 模块或 pythons Tkinter 的示例。

参见: http://wiki.tcl.tk/13208

PerlTk 采用了一种不同的方法,它试图不嵌入完整的 Tcl 解释器。可行,但更难做到,因为 Tk 使用大量 Tcl 代码来处理非性能关键部分,例如默认绑定(bind)脚本等。

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

关于tkinter - 如何为 Tk 构建包装器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8778478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com