Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用web服务器代替python中的GUI_Python_User Interface - Fatal编程技术网

用web服务器代替python中的GUI

用web服务器代替python中的GUI,python,user-interface,Python,User Interface,我有一个GUI项目,我即将开始。GUI需求很简单(尽管没有tkinter所能满足的那么简单)。因此,我需要使用一个用于python的GUI工具包(如果我必须使用GUI,那么它将是wxpython)。现在我在想,为什么我不能使用简单的web框架,比如cherrypy或BottalPy(对不起,如果我没有正确的想法,我是服务器端编程的新手),创建html页面作为我的图形界面,并使用DOM(我想,我说得对),而不是使用wxpython来创建整个GUI。然后,我可以编写我所有的业务逻辑,剩下的留给简单的

我有一个GUI项目,我即将开始。GUI需求很简单(尽管没有tkinter所能满足的那么简单)。因此,我需要使用一个用于python的GUI工具包(如果我必须使用GUI,那么它将是wxpython)。现在我在想,为什么我不能使用简单的web框架,比如cherrypy或BottalPy(对不起,如果我没有正确的想法,我是服务器端编程的新手),创建html页面作为我的图形界面,并使用DOM(我想,我说得对),而不是使用wxpython来创建整个GUI。然后,我可以编写我所有的业务逻辑,剩下的留给简单的html呈现,在这里,我可以花更少的时间格式化表格、创建按钮和表单以及担心大小调整器

我的问题是:有人可以使用诸如cherrypy或类似的web服务器python包,而不使用图形工具包吗?这真的是有益的还是我的想法颠倒了

我期待的好处是:


我可以使用jquery拥有许多特性,这些特性可能需要花很多时间来使用wxpython或其他GUI工具包创建。例如,如果我想拥有类似于jquery的自动完成功能,那么在GUI工具包中,它与wxpython完全不同。而且,html中的许多拖放功能都很简单。

不,你想得对。HTML/CSS非常简单,它有助于快速开发。此外,python微框架将使创建业务逻辑变得轻而易举。这是一条非常直截了当的sipmle路线。

你是对的,但是。

是的——这只是一个web应用程序,而不是本机应用程序

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

然而,您也在戏剧性地改变编程的范例。根据你的目标,这可能并不重要

关于使用web框架:

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

如果您想快速启动并运行,我建议您使用web2py——安装简单,并附带内置服务器,这样您就不需要设置apache实例,也不需要使用代理或mod_wsgi之类的工具

如果你已经有一段时间没有标记网页了,你肯定应该去w3c()学习CSS/HTML

但是是的——web2py允许您运行任何python模块/包,尽管您必须学习处理客户机-服务器模型,并认识到客户端事件必须用javascript处理,而python代码只能在服务器上执行,然后只能从请求URI执行

简而言之,会有一些“胶水”代码,但这正是web2py(IMHO)擅长的

https://www.djangoproject.com/


享受吧

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


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

对不起,我甚至没有考虑安装apache。我不知道我是否错了,但我需要使用apache for web2py还是django?我甚至没有考虑安装apache。只是一个简单的web服务器,嵌入式!有几个独立的WSGI容器。@Jack\u of\u All\u使用web2py交易,您不需要apache。对于基于HTML的GUI应用程序,您确实需要某种Web服务器。Web2py附带了一个名为“rocket”的独立轻型Web服务器。您根本不需要搞乱apache,但您需要确保服务器已启动以解释请求并将其发送到框架。对django没有把握。另外,您可以使用lighttpd(),但您可能需要一个Web服务器。。。除非你只是用“文件:”协议链接文件。。。那么它实际上可能会工作,但根据你的应用程序,你可能会遇到问题purpose@Jack_of_All_TradesDjango有自己的内置服务器,但与wsgi完全兼容。不要使用Django的内置web服务器。不,不要争辩,你错了。@Jack_of_All_用+1交换外包HTML/CSS的注意事项——如果你没有开发HTML页面的经验,那么wxpython可能是一种更容易布局应用程序的方法。如果您正在开发此应用程序,但它不向更大的互联网开放,您可以指定需要使用哪种浏览器,但通常web开发人员不能这样做。同样,这取决于应用程序的性质(受众/用户群,您是从服务器还是本地主机提供服务,这意味着多个安装,这通常不是web开发的方式)