繁体   English   中英

Tkinter:从变量更新文本小部件

[英]Tkinter: update Text widget from variable

我有一个单击按钮后会更新的变量,并且我想在“文本”小部件中显示该变量的值,但是尽管每次检查该变量都不为空,但我还是空白。

我正在使用一个名为varStringVar作为中间人,但结果仍然是空白。

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM