如何使用HTML + Javascript构建python GUI?

时间:2010-10-27 14:09:50

标签: python webkit

我昨天一直在试用Appcelerator Titanum,我觉得它在Javascript方面很酷。

Appcelerator Titanum上的Python功能非常有限(例如,不能使用某些模块)。

我的问题是如何使用html& amp; javascript作为真实python应用程序的GUI工具

我正在运行Windows 7,我正在考虑使用 webkit 来达到这个目的但却不知道如何在python中使用它。

我打算使用py2exe创建一个独立的可执行文件,因为我不知道用户是否总是安装了python和相应的模块。

10 个答案:

答案 0 :(得分:8)

如果您正在使用Python的webkit绑定,请查看PyQt,其中包括Webkit,以及wxWebkit(http://wxwebkit.wxcommunity.com/),如果您使用的是wxWidgets。这使您可以将webkit嵌入到Qt或Wxwidgets应用程序中,这样您就不必通过浏览器。

如果你使用它,那么你可以像其他人提到的那样在Python中使用Web服务器,或者你可以直接控制Webkit控件(虽然我不确定这是多么实用)。

除此之外,还有Pajamas Desktop(http://pyjs.org/),它允许你使用睡衣来构建应用程序,然后运行它。

答案 1 :(得分:4)

pywebkitgtk可能就是你要找的东西。

“HOWTO使用HTML创建Python GUI”http://www.aclevername.com/articles/python-webgui/

http://arstechnica.com/open-source/guides/2009/07/how-to-build-a-desktop-wysiwyg-editor-with-webkit-and-html-5.ars

但我不确定它是否在Windows上运行。

PyQt和Webkit可以在Windows上运行。

http://www.rkblog.rk.edu.pl/w/p/webkit-pyqt-rendering-web-pages/

答案 2 :(得分:3)

Here是一个很好的PyCon谈话。

答案 3 :(得分:2)

  

那么如何使用html& amp; javascript作为真正的python应用程序的gui工具?

您在桌面上运行Web服务器。例如,这个:http://docs.python.org/library/simplehttpserver.html在几行代码中,您可以提供一个完整的HTTP服务器,将HTML和Javascript提供给浏览器。

  

我正在运行Windows 7,我正在考虑使用webkit为此目的,但我不知道如何在python中使用它实际上我还想使用py2exe所以我怎样才能使用python + webkit来处理gui部分?

难以解析。它要么表示咖啡太多,要么不熟悉标点符号。

随机地,我会选择以下单词作为可能有意义的。

  

如何使用python + webkit处理gui部分?

您在桌面上运行Web服务器。 Web服务器向浏览器提供html和javascript页面 - 也在桌面上运行。

答案 4 :(得分:1)

答案 5 :(得分:1)

  

PHP Desktop是一个由Czarek Tomczak创建的开源项目   2012年提供了开发本机桌面GUI应用程序的方法   使用PHP,HTML5,JavaScript等网络技术SQLite的。该   您在创建Web应用程序时习惯的开发工作流程   保持原样。将现有网站变成网站的步骤   桌面应用程序基本上是将其复制到“www /”的问题   。目录

PHP桌面还发布了Python桌面和Ruby桌面。它允许您创建一个Windows应用程序,该应用程序使用已安装的IE作为前端,或者使用随应用程序打包的Chrome实例(因此也支持HTML5)。它启动一个本地Web服务器,支持许多带有PDO驱动程序的数据库,您可以使用HTML和Javascript布局视图。您可以像任何其他网站/ webapp一样下载外部资源,因此它也支持网络相关的东西。该应用程序附带自己的简单版本的Python,您可以根据需要添加库。

之前我查看了所有答案,因为我和你有完全相同的问题,但PHP桌面很容易为我解决。

https://code.google.com/p/phpdesktop/wiki/EmbeddingOtherScriptingLanguages

答案 6 :(得分:0)

我假设您正在动员一个用于跨平台访问的Web应用程序。

如果是这样,您是否考虑过在Web应用程序表示层抽象跨平台访问?

Appcelerator / Webkit不能在移动设备上提供真正的原生外观,但这是新技术可以提供帮助的地方。

答案 7 :(得分:0)

如果您正在考虑多线程的真实桌面应用程序和/或使用多个系统组件 - 请忘记JavaScript。这需要一个非常好的SDK(如PyQt4),而不是像Appcelerator Titanium这样的基本包装器。请注意,开发此类应用程序需要花费大量时间。

第二个选项是删除桌面绑定,并创建一个带有使用JavaScript框架之一的高级前端UI的Web应用程序。朋友们(Ember,Angular ......就像dhtmlx和类似的小部件一样)。那些不能使用系统组件(比如访问一些硬件),但它们可以提供很好的服务。

答案 8 :(得分:0)

查看pySide

我建议使用QtWebKit

如果要隐藏源代码,可以使用PyInstaller

答案 9 :(得分:0)

您可以使用TideSDK,它可以帮助您使用您的网站开发技能(HTML5 / CSS3 / JavaScript / Python或PHP或Ruby)创建漂亮和独特的桌面应用程序。

网站:http://www.tidesdk.org

在TideSDK中使用Python:http://tidesdk.multipart.net/docs/user-dev/generated/#!/guide/using_python

希望有所帮助! :)