5

我有一个即将开始的 GUI 项目。GUI 要求很简单(虽然不像 tkinter 那样简单就足够了)。所以我需要为 python 使用一个 GUI 工具包(如果我必须使用 GUI,它将是 wxpython)。现在我在想,为什么我不能使用简单的 web 框架,例如cherrypy 或 bottlepy(对不起,如果我的想法不对。我是服务器端编程的新手)并创建 html 页面作为我的图形界面并使用 DOM(再次,我想,我说得对)而不是使用 wxpython 来创建整体 GUI。然后,我可以编写我所有的业务逻辑,并将其余部分留给简单的 html 渲染,在那里我必须花费更少的时间来格式化表格、创建按钮和表单以及担心大小调整器。

我的问题是:有人可以使用诸如cherrypy 或类似的网络服务器python 包并摆脱使用图形工具包吗?它真的有益还是我认为这件事颠倒了?

我期待的好处:

我可以使用 jquery 来拥有许多使用 wxpython 或其他 GUI 工具包创建可能需要大量时间的功能。例如,如果我想拥有类似于 jquery 的自动完成功能,那么在 wxpython 等 GUI 工具包中会有很多不同的故事。而且,很多拖放功能在 html 中很容易实现。

4

4 回答 4

4

是的——那么这只是一个 Web 应用程序,而不是本机应用程序。

优点包括可移植性(假设您可以在任何设置上运行 python 代码——不确定您的应用程序的目的是什么)并且不处理讨厌的布局问题和 TK 事件等。

然而,你也在极大地改变你编程的范式。根据您的目标,这可能无关紧要。

至于使用网络框架:

在最简单的情况下,您可以在 CGI 下运行一组 python 脚本。或者你可以得到一个带有数据库抽象层(DAL/ORM)的 MVC 框架,比如 django 或 web2py。

如果您想快速启动并运行,我建议您使用 web2py - 安装简单,并带有内置服务器,因此您无需设置 apache 实例并弄乱 Proxying 或 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

享受!

于 2012-04-04T15:15:38.043 回答
2

你认为完全正确。有很多基于 python 的框架,只要选择正确的一个:pyramid、pylons、django 是最流行和广泛使用的。

我建议您将 HTML/CSS 切片外包给一些专业人士,而不是自己做。您可以面对很多特定于浏览器的事情,这会浪费您的时间,但对于有经验的人来说很明显。

于 2012-04-04T15:58:52.523 回答
2

你是对的,但不要自己动手

于 2012-04-04T15:13:27.393 回答
1

不,你的想法是正确的。HTML/CSS 非常简单,可用于快速开发。此外,python 微框架将使创建业务逻辑变得轻而易举。这是一条非常直接的简单路线。

于 2012-04-04T15:10:12.983 回答