tkinter scrolledtext.insert和label.configuration执行点

问题描述 投票:1回答:1

我有以下python36代码检查值,然后设置一个tkinter标签,条目值已被接受,然后执行另一个线程函数。在函数之前和之后以及函数内部,我想在tkinter scrolledtext框中显示一些内容。喜欢它的控制台/外壳。

  1. 所有label.configure()以及scrolledtext.insert()仅在所有内容运行后同时显示。
  2. 我无法在线程函数中使用scrolledtext.insert()(基础问题,我可以在导入模块的函数内使用它吗?)

我想有这些函数的执行时间,如果我将使用print()函数。所以一旦脚本完成它就立即执行它。如果您可以向我解释为什么这不会被执行,因为我正在学习python或指向适当的参考,这将是很好的。

        elif str(x2) == 'None' and str(x3) == 'None':
            E2T = 'accepted'
            E2L.configure(text=E2T, fg="green")
            E2L.grid(row=5, column=2)
            E3T = 'accepted'
            E3L.configure(text=E3T, fg="green")
            E3L.grid(row=6, column=2)
            # Start scanning process
            scrolledtext.insert(tkinter.INSERT, 'Start scanning....\n' )
            print('testprint')
            portlist = scan(E1.get(),E2.get(),E3.get())
            # try work with returned value and display as in a console
            print(portlist)
            print('testprint')
            scrolledtext.insert(tkinter.INSERT, 'Following Ports are open\n' )
            scrolledtext.insert(tkinter.INSERT, str(portlist))
python-3.x tkinter insert-update
1个回答
0
投票

您可以在scrolledtext.update_idletasks()之后执行scrolledtext.insert(),它将刷新小部件并且您的文本将弹出。请参阅that comment了解更多信息。希望它有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.