gpt4 book ai didi

python - 减少 wxPython GUI 加载时间的方法

转载 作者:行者123 更新时间:2023-12-01 06:01:24 26 4
gpt4 key购买 nike

这个问题是我的问题Desktop GUI Loading Slow的延续.

我有一个用 wxPython 开发的桌面 GUI,它使用 sqlAlchemy 从数据库中进行许多记录获取查询。我将获取的记录放入 Python 字典中,并使用它填充 GUI。但是,由于我在后台读取数千个数据,GUI 会卡住并且加载速度非常慢。现在的问题是:

  1. 我应该为每个 sqlalchemy 数据获取查询创建单独的线程吗?如果答案是肯定的,那么 wx.callAfter() 是我必须关注的方法(对于每个查询)吗?如果有人提供示例/未经测试的代码或链接,那么它将很有帮助。
  2. 还有其他方法可以在桌面 GUI 中实现延迟加载吗?

P.S.:请注意,这是我第一次使用多线程和 wxPython。我是 Python/Django 早期的 Web 开发人员。另外,由于限制,我无法共享代码。

最佳答案

您应该重新设计您的应用程序,以便数据加载部分和数据显示部分是分开的。在一个单独的线程中加载数据,该线程应该填充应用程序中的数据库模型,使用该模型填充 GUI,因此当应用程序加载时,GUI 将快速加载,但会在数据未加载的地方显示“正在加载...”或类似的内容尚未加载。

另一种加快速度的方法是在需要时才运行查询,例如将它们包装在一个带有 get 方法的类中,在 get 查询数据库上,但所有这些都取决于上下文。

此外,如果 GUI 主要用于 View ,那么您可以加载第一组小数据并将其他数据推送到用户必须通过某些菜单或选项卡的其他 View ,这样您就可以延迟加载,直到需要时为止或在后台加载它们。

关于python - 减少 wxPython GUI 加载时间的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10232560/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com