Jac*_*des 5 python user-interface
我有一个即将开始的 GUI 项目。GUI 要求很简单(虽然不像 tkinter 那样简单就足够了)。所以我需要为 python 使用一个 GUI 工具包(如果我必须使用 GUI,它将是 wxpython)。现在我在想,为什么我不能使用诸如cherrypy 或bottlepy 之类的简单网络框架(对不起,如果我没有想好。我是服务器端编程的新手)并创建html 页面作为我的图形界面并使用DOM(再次,我想,我说得对)而不是使用 wxpython 来创建整个 GUI。然后,我可以编写我所有的业务逻辑,并将其余部分留给简单的 html 渲染,这样我就可以花更少的时间来格式化表格、创建按钮和表单以及担心大小器。
我的问题是:有人可以使用诸如cherrypy或类似的网络服务器python包并摆脱使用图形工具包吗?它真的有益还是我认为这件事颠倒了?
我期待的好处:
我可以使用 jquery 来拥有许多功能,这些功能可能需要花费大量时间使用 wxpython 或其他 GUI 工具包来创建。例如,如果我想拥有类似于 jquery 的自动完成功能,那么在像 wxpython 这样的 GUI 工具包中就有很多不同的故事。而且,许多拖放功能在 html 中很容易。
是的——这只是一个 Web 应用程序而不是本机应用程序。
优点包括可移植性(假设您可以在任何设置上运行 python 代码——不确定您的应用程序的目的是什么)以及不处理讨厌的布局问题和 TK 事件等。
然而,您也正在极大地改变您编程的范式。根据您的目标,这可能并不重要。
至于使用网络框架:
在最简单的情况下,您可以在 CGI 下运行一组 python 脚本。或者您可以获得带有数据库抽象层 (DAL/ORM) 的 MVC 框架,例如 django 或 web2py。
如果你想快速启动和运行,我建议你使用 web2py —— 安装简单,并且带有内置服务器,因此你不需要设置 apache 实例,也不需要搞乱代理或 mod_wsgi 或所有这些优点。
如果您有一段时间没有标记网页,那么您绝对应该访问 w3c ( http://www.w3schools.com/ ) 并温习一下 CSS/HTML。
但是,是的 - web2py 将允许您运行任何 python 模块/包,尽管您必须学习处理客户端-服务器模型并意识到客户端事件必须在 javascript 中处理,而 python 代码只能在服务器,然后仅来自请求 URI。
简而言之,会有一些“粘合”代码,但这正是 web2py(恕我直言)所擅长的。
http://web2py.com https://www.djangoproject.com/ http://wiki.python.org/moin/CgiScripts
享受!