5
|
jpfollenius Rob Kennedy · 技术社区 · 15 年前 |
![]() |
1
5
IMO如果图形用户界面更新是瓶颈(即使beginupdate/endupdate如@the_Fox建议的那样使用),那么是时候重新考虑使用的图形用户界面控件了。标准网格、树视图、列表框并不是简单地为处理大量项目而切割的。为了实现这一目标,有许多性能良好的第三方控制,包括免费控制和商业控制。 对于初学者,如果瓶颈位于网格、树视图或列表框上下文中,请签出virtualTreeView。 |
![]() |
2
5
当填充网格、列表、数据集等时,调用beginupdate/endupdate disablecontrols/enableControls。这会节省你的时间。我也有一个执行一些计算的线程,但是GUI很慢,直到我在正在修改的数据集上调用了DisableControls,因为控件在另一个选项卡上而不可见。 此外,在更新控件时,请准备好所需的所有数据,这样您就可以填写列表,而不必进行计算,这样可以降低速度。 |
![]() |
3
4
在您的案例中,application.processmessages有什么问题?application.processmessages方法完全适用于这种情况。application.processMessages的问题是如下代码:
这很糟糕,因为它是无用的CPU负载,应该替换为
它为其他线程提供处理器时间。单个application.processmessages调用(不在循环中)正常。 |
![]() |
4
1
看一看 ActiveSleep . |
![]() |
5
1
如果只想处理paint消息,而不想处理其他任何消息:请使用以下内容而不是application.process messages:
|
![]() |
6
-2
你试用过印地的防冻成分了吗? |
![]() |
FranticFronk · Tkinter单选按钮在已选择时执行命令 8 月前 |
![]() |
Kumkuatte · 如何将UI元素对齐到Unity中的左侧位置 12 月前 |
![]() |
Calax · GUI不显示所有组件(C++) 1 年前 |
![]() |
trassert · python flet容器 1 年前 |
![]() |
zadisk8 · 带有Q拆分器和多级选项卡的PyQt5 1 年前 |
![]() |
Patrick Visi · Zitadel日常创建服务用户 1 年前 |