gpt4 book ai didi

python - 我应该嵌入或扩展 python 来创建高质量、高速的 GUI 程序吗?

转载 作者:太空宇宙 更新时间:2023-11-03 23:31:49 25 4
gpt4 key购买 nike

我正在尝试找到一种方法来快速开发(或者更确切地说,最终达到我可以快速开发的程度)非常漂亮的跨平台 GUI 桌面应用程序,这些应用程序在磁盘和内存中的占用空间非常小,启动速度非常快(例如,甚至比裸露的 wxPython 窗口快得多)(举个好例子,看看 TextEdit 在 OSX 下的启动速度有多快。这就是我想要的 GUI 应用程序启动速度),轻松部署,并且非常互动与操作系统(Gimp 和 Gedit 以及各种其他开源、跨平台应用程序表现出我真正讨厌的各种行为,具体取决于平台,尤其是在 OSX 上)很好,无需花任何钱。 (嘿,别笑了!=P)

我对 wxWidgets、Qt、SDL 和迄今为止我尝试过的所有其他东西都不满意,所以我决定在每个平台上编写 native GUI 代码(尤其是与操作系统的窗口系统交互的部分),使用 native 工具(XCode/ObjC/Cocoa/OpenGL、MSVC/Win32/DirectX、gcc/GTK/OpenGL),然后尝试想出一些尽可能多的用 Python 编写程序其余部分的方法。

我考虑过也许编写一组共享库/dll 来处理 GUI 问题,然后用一组 Python C 扩展将它们包装起来,但是在包装时涉及一些技术挑战(菜单、应用程序图标、某些操作系统特定的应用程序 list 等),而且我不确定启动速度和性能总体上是否可以接受,具体取决于我正在编写的特定程序。

所以我考虑过在每个平台上创建一种“shell”程序,并嵌入 python,类似于 Sublime Text 2 的方式。

我不喜欢第一次启动任何 python 程序时出现的启动缓慢。我希望这是编译为字节码的结果,并且我可以在我的应用程序中包含 python 模块的预编译版本,但从实验来看,情况似乎并非如此。似乎 python 第一次运行(自上次系统重启后),加载了共享库/dll 之类的东西。所以这就是我考虑嵌入 Python 的原因之一——我想知道在嵌入/调用 Python 时是否有一些选项可以帮助减少启动延迟。或者,如果最坏的情况发生,在嵌入式情况下,我可以在没有 Python 的情况下启动,然后在我需要时启动 Python,在应用程序启动后异步(不在主线程中)。

有没有办法减少部署的 python 程序的首次启动延迟(即,程序包中包含一个版本的解释器……也许解释器可以用我没有尝试过的开关编译)?

有没有办法减少嵌入python时解释器加载/初始化延迟?

期望任何 python gui 程序都像 TextEdit 一样快速启动或占用空间小是完全不现实的吗?

最佳答案

Pyglet

再好不过了,您将获得对所有 Python 版本的全面支持,您负责您的 GUI 代码,并且速度非常快。您可以渲染大块数据而不会出现明显的延迟!

333Mhz CPU 上运行,小于 128MB 和一些随机的 PCI 显卡 我已经成功地把它拉出来了:
http://www.youtube.com/watch?v=D7zFLQZxzcY
(大约有几十万颗恒星,可缩放,几百颗行星也有一艘可以在太空中航行的船。这是我没有时间完成的早期开发视频)

第一次运行后(或者如果您将 .py 编译成 .pyc),您将使用 pyglet 从 GUI 中获得非常快的速度,但是您必须自己创建所有的输入和按钮,因为您重新编写图形数据而不是界面代码。

关于python - 我应该嵌入或扩展 python 来创建高质量、高速的 GUI 程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13681305/

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