[英]How to make a tkinter GUI faster?
大家,
我目前正在使用 tkinter 开发一个 GUI,它由一个文本小部件组成,应该充当 XML 代码编辑器。 我使用标记对某些关键字(如 xml 标记)进行颜色标记,但不幸的是,此操作非常慢,您可以看到 gui 线程需要花费大量时间来突出显示所有内容。 有没有办法加快这个速度(例如,改变gui或类似的东西的多个线程)? 或者是否有允许构建更具响应性的 guis 的 GUI 框架?
许多 GUI 工具包(包括tkinter
)不是线程安全的; 所以你不应该从多个线程发出 GUI 调用。
如果你想知道一个程序为什么慢,通常你必须对其进行分析。 分析器是一种工具,可帮助您查看程序将时间花在哪里。 Python 具有cProfile
模块形式的内置分析器。 例如,要分析我的unlock-excel.py
脚本,我将使用以下命令:
python3 -m cProfile -s cumulative unlock-excel.py ~/foo.xlsm | less
它还产生用于输出tkinter
程序等unlock-excel.pyw
;
python3 -m cProfile -s cumulative unlock-excel.pyw
在后一种情况下, tkinter
调用将显示为例如__init__.py:1281(mainloop)
或{method 'call' of '_tkinter.tkapp' objects}
。
有了这个,您应该能够确定缓慢是在您的代码中还是在tkinter
发生。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.