Tkinter 插入的文本同时出现

问题描述

我正在使用带有以下代码的 Tkinter:

window = Tk()
window.title("Inventory Update")
window.geometry("680x550")

main_button = Button(window,height=3,width=86,text = "Start Update",command = run_update)

main_text = Text(window,width=77,height=20)
main_text.place(x=20,y=200)

window.mainloop()

run_update 函数如下所示:

def run_update():
   try:
      prev_fname = prevIoUs_inventory_filename
      main_text.insert(INSERT,"opening" + prev_fname + "...")
      prev_workbook = load_workbook(filename=prevIoUs_inventory_filename)
   except Exception as e:
      quit()
   main_text.insert(INSERT,"\nSuccessfully opened "+ prev_fname)

   main_text.insert(INSERT,"\nConnecting to Database...")
   connection = connect(host = db_hostname,user = db_username,password = db_password,database = db_database)
    cursor = connection.cursor()
    main_text.insert(INSERT,"\nCONNECTED...")

    #Some loop here to execute SELECT and UPDATE sql queries as well as main_text.insert methods
    #and so on...

run_update 做了几件事:

  • 通过 openpyxl 库打开一个 excel 文件
  • 连接到数据库,并运行 sql,例如 SELECTUPDATE 查询
  • 在每个步骤中,都有 main_text.insert() 方法可以了解状态。我希望这会像 print() 一样发挥作用,它会一张一张地打印出来。

问题是main_text.insert()函数没有一一出现。数据库连接成功后,所有插入的文本同时显示在文本小部件上。

非常感谢任何帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)