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

时间:2010-05-24 07:24:13

标签: python user-interface wxpython pyqt

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

像Cooliris中的3D墙那样的“炫酷动画/效果”,用flash写入,用opengl编写效果。

我还听说过一些像wxPython和pyQT这样的python GUI库。由于我对python GUI编程完全不熟悉,有人可以建议我从哪里开始,我应该学习什么来创建这样的应用程序?也许用openGL功能学习pyQT? pyopengl绑定?我不知道从哪里开始。非常感谢你的时间和建议。

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

2 个答案:

答案 0 :(得分:3)

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

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

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

编辑:

在这种情况下,qtopengl模块可能需要考虑:http://doc.qt.nokia.com/4.6/qtopengl.html

我确实推荐QT。它干净,易于使用和跨平台。所以你的应用程序也可以在Windows上运行。

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

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

然而,IIRC的例子是你可能不习惯的C ++。当您理解这些数学概念时,更容易思考如何使页面卷曲类型影响。当然,如果您找到向您展示如何进行数学运算的库或代码,那可能没问题。

答案 1 :(得分:0)

可能是,只需创建一个GUI,所有效果都会产生compiz?

无论如何,据我所知,QT有能力使用openGL。

http://doc.qt.nokia.com/4.1/examples.html#opengl-examples