如何在Python / Tkinter中将StringVar连接到Text小部件?

时间:2012-05-15 01:19:29

标签: python tkinter

基本上,我想在StringVar执行时更改Text小部件的主体。

2 个答案:

答案 0 :(得分:6)

短版是,你不能。

如果您想自己完成所有工作,可以在变量上设置跟踪,以便使文本窗口小部件保持最新,并且可以向文本窗口小部件添加绑定以使变量保持最新,但是直接在Tkinter中没有任何内容可以自动完成。

不直接支持的主要原因是文本小部件不仅可以包含ascii文本 - 它可以包含不同的字体和颜色,嵌入的小部件和图像以及标签。

答案 1 :(得分:0)

我在做项目时想到了这一点。实际上非常简单:

import tkinter as tk
from tkinter import *
from tkinter.scrolledtext import ScrolledText


def get_stringvar(event):
    SV.set(ST1.get("1.0", END))
    ST2.replace("1.0", END, SV.get())


root = tk.Tk()

SV = StringVar()

ST1 = ScrolledText(root)
ST1.pack()
ST1.bind('<KeyRelease>', get_stringvar)


ST2 = ScrolledText(root)
ST2.pack()

root.mainloop()