python - 如何在 Linux 下使用 python 创建一个具有炫酷动画/效果的 GUI 应用程序(如 Cooliris 中的 3D 墙、compiz 效果等...)

标签 python user-interface wxpython pyqt

我不确定我的问题标题对您是否有意义。我看到许多很酷的应用程序都有很酷的动画/效果。我想学习如何在 Linux 下使用 python 创建这种 GUI 应用程序。

“很酷的动画/效果”,比如用 flash 编写的 Cooliris 中的 3D 墙和使用 opengl 的 compiz 效果。

我还听说过一些 python GUI 库,例如 wxPython 和 pyQT。由于我对 python GUI 编程完全陌生,任何人都可以建议我从哪里开始以及我应该学习什么来实现和创建这样的应用程序吗?也许学习具有 openGL 功能的 pyQT? pyopengl 绑定(bind)?我不知道从哪里开始。非常感谢您的时间和建议。

顺便说一句,万一有人需要知道我要创建哪种应用程序,那么,任何类型的应用程序都行。也许是带有 3D 墙的照片浏览器,也许是 IM 客户端,也许是 facebook 客户端等等......

最佳答案

http://techbase.kde.org/Development/Languages/Python

许多 KDE 样式使用 SVG 和大量动画。用户可以随时更改主题。我认为你应该更具体地说明你想做什么样的动画。我不认为 3D 墙类型影响真的属于 QT 的小部件类别。在我看来,您想为应用程序制作 3D 界面。如果是这样,您可能需要更多地了解主要用于游戏的 3D 引擎类型库。我知道有些具有出色的 GUI 小部件,可用于编程游戏菜单等。我猜你会决定你的引擎,看看是否有 python 语言绑定(bind)。我最喜欢的引擎之一:http://irrlicht.sourceforge.net/links.html

您需要考虑的另一件事是您希望如何处理窗口管理。你想做一个全屏界面吗?还是要开窗?此外,这样的应用程序如何集成到 3D 窗口管理器或具有合成功能的窗口管理器中。

编辑:

在那种情况下,qtopengl 模块可能是需要研究的东西:http://doc.qt.nokia.com/4.6/qtopengl.html

我确实推荐 QT。它干净、易于使用且跨平台。因此您的应用程序也可以在 Windows 上运行。

您需要事先考虑的一件事是您要执行的 FX 类型。例如,如果您想在重命名图像时创建页面 curl 类型的效果,则必须考虑如何对其进行编程,或者寻找可以执行该数学运算的库/代码片段。游戏中使用的 3D 引擎通常为您在游戏中看到的那些典型 FX 或动画提供大量支持。如果你使用像 qtopengl 这样的东西,你也需要考虑这一点。 qtopengl 几乎只能渲染。把它想象成一个视口(viewport)。然而,这是为桌面制作 3D 应用程序的正确方法。

编写 3D 应用程序真的很有趣。我很喜欢它。但是,不要因为数学而气馁。如果你是认真的,我建议你买一本关于它的书。我喜欢这个:http://www.amazon.com/Primer-Graphics-Development-Wordware-Library/dp/1556229119

但是,IIRC 示例是 C++,您可能不太适应。当您理解这些数学概念时,就更容易思考您将如何使页面 curl 类型产生影响。当然,如果您找到可向您展示如何进行数学计算的库或代码,那可能没问题。

关于python - 如何在 Linux 下使用 python 创建一个具有炫酷动画/效果的 GUI 应用程序(如 Cooliris 中的 3D 墙、compiz 效果等...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2895404/

相关文章:

python - 使用 wxPython 在动态创建的按钮中发送变量

python - 在哪里可以找到 Keras 配置文件?

python - 使用 Py2exe 将 GUI 转换为独立可执行文件时出错

JAVA GUI标签输出错误

java - 如何修复 GridBagLayout 中的间隙

python - 如何在 Sublime Text 2 中运行 wxPython GUI 应用程序

python - 用 python 和 matplotlib 绘制图形问题

python - 在python中解析txt文件,其中很难用定界符分割

python - 将重音字符写入 Oracle

python - 创建在 2D numpy 数组中充当分组样式查找的字典的最快方法?