Python 如何使tkinter GUI更快?
各位, 我目前正在使用tkinter开发一个GUI,它由一个文本小部件组成,该小部件应该充当XML代码编辑器。我使用标记对某些关键字(如xml标记)进行颜色标记,但不幸的是,此操作非常缓慢,您可以看到gui线程需要花费大量时间来突出显示所有内容。有没有办法加快速度(例如,多个线程改变gui或类似的东西)?或者是否有一个GUI框架允许构建更具响应性的GUI?许多GUI工具包(包括Python 如何使tkinter GUI更快?,python,tkinter,Python,Tkinter,各位, 我目前正在使用tkinter开发一个GUI,它由一个文本小部件组成,该小部件应该充当XML代码编辑器。我使用标记对某些关键字(如xml标记)进行颜色标记,但不幸的是,此操作非常缓慢,您可以看到gui线程需要花费大量时间来突出显示所有内容。有没有办法加快速度(例如,多个线程改变gui或类似的东西)?或者是否有一个GUI框架允许构建更具响应性的GUI?许多GUI工具包(包括tkinter)都不是线程安全的;因此,您不应该从多个线程发出GUI调用 如果你想知道为什么一个程序很慢,通常你必须分析
tkinter
)都不是线程安全的;因此,您不应该从多个线程发出GUI调用
如果你想知道为什么一个程序很慢,通常你必须分析它。探查器是一种工具,可以帮助您查看程序在何处花费时间。Python以cProfile
模块的形式提供了一个内置的探查器。例如,要分析脚本,我将使用以下命令:
python3 -m cProfile -s cumulative unlock-excel.py ~/foo.xlsm | less
它还为tkinter
程序生成输出,如:
在后一种情况下,tkinter
调用将显示为例如\uuu init\uuuuuuuuupy:1281(mainloop)
或{method'call'of'\utkinter.tkapp'objects}
有了这个,你应该能够确定你的代码中是否存在慢度,或者它是否发生在
tkinter
嗨,请编辑你的帖子并添加你所做工作的实际代码。考虑一下文档的部分,我们不能优化我们看不到的代码。请将您的问题包括在内。请不要粘贴整个程序,请为这个问题专门创建一个示例。
python3 -m cProfile -s cumulative unlock-excel.pyw