我遇到了一个有趣的小部件( source code ),它似乎支持语法突出显示和一堆其他东西。我想在我的 tkinter 应用程序中使用它,但是我不确定这是否完全可能。我知道您可以使用 tkinter.eval() 来评估原始 Tcl/Tk 代码,但我不确定在评估整个源代码/将其放置在某处之后我应该做什么 -如何实例化该小部件并实际使用它?
最佳答案
我碰巧有 ctext 的源代码(它是 tklib 的一部分),因此我可以使用 TCLLIBPATH 环境变量让我的 Tcl 库了解附加包的位置。然后就可以加载了。但是,您需要与 python 进行一些接口(interface)
pat@uknml7167 ~ $ TCLLIBPATH=/opt/src/tklib/modules python3
Python 3.5.2 (default, Nov 23 2017, 16:37:01)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter as tk
>>> root = tk.Tk()
>>> root.tk.call('package','require','ctext')
'3.3'
所以简短的回答是"is"。
有一个 tkribbon 的例子在这个网站上。我确信有更好的使用 native Tk 包的示例。
基于上述内容的快速演示:
class Ctext(tk.Widget):
def __init__(self, master):
tk.Widget.__init__(self, master, 'ctext')
ctext = Ctext(root)
ctext.pack(expand=True, fill='both')
tkinter 包装类已上传到 github以及一个小演示脚本。
关于python - tkinter:是否可以使用 native Tcl/Tk tklib 的 ctext 小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47653808/