[英]Tkinter: update Text widget from variable
我有一个单击按钮后会更新的变量,并且我想在“文本”小部件中显示该变量的值,但是尽管每次检查该变量都不为空,但我还是空白。
我正在使用一个名为var
的StringVar
作为中间人,但结果仍然是空白。
from tkinter import *
import time
var = None
def get_tags():
tag_info={'hashtags':"Loading..."}
var.set(str(tag_info.get('hashtags','')))
if __name__ == '__main__':
root = Tk()
root.title("Tag Generator")
var = StringVar(root)
show_button = Button(root, text='Show',
command=lambda: get_tags())
show_button.grid(column=2,columnspan=1, padx=5, pady=5, row=num+1)
result_text = Text(root)
result_text.grid(column=0,columnspan=3, padx=5, pady=5, row=num+2, rowspan=4)
result_text.insert('1.0',var.get())
while True:
time.sleep(0.01)
root.update()
如何在“文本”小部件中显示var
的内容?
编辑 :我的var变量的内容:
var.get()
Out[86]: '.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n#cat #dog #catsofinstagram #cats #pet #dogsofinstagram #catlover #cute #love #dogs #pets #catstagram #instagood #puppy #kitty #animals #petstagram #dogstagram #gato #kitten #animal #instadog #catoftheday #doglover #cats_of_instagram #adorable #instagram #dogoftheday #instacat #meow '
(按预期/期望)
该文本未显示,因为在result_text.insert('1.0',var.get())
行处的var = ''
,并且您无法在mainloop
之前按Button
,因此通过在函数get_tags()
放置同一行即可解决问题。
但是在这一点上,我想知道为什么你甚至需要var
。 如果您没有将其用于其他用途,则应将其删除并直接insert
Text
。
def get_tags():
tag_info={'hashtags':"Loading..."}
tag_info = my_file.get_tags()
var.set(str(tag_info.get('hashtags','')))
result_text.insert('1.0', var.get())
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.