2010-05-18 96 views
1

我打算使用Python来创建桌面应用程序,以了解一些桌面概念。我要使用GTK或Qt,我还没有确定哪一个。需要关于使用gui创建桌面应用程序的帮助/指导

事实是:我想创建一个应用程序,可以从命令行调用,并使用GUI。所以它对于cmd粉丝和GUI用户也很有用。

将来也会创建一个Web界面,所以它可以在某个地方使用模板语言创建的html界面运行。

我在考虑两种方法: - 通过从桌面/ Web实现中调用的简单接口创建“模型”(核心模块,其中包含所有功能) - 使用html界面创建“模型”,并嵌入浏览器组件,以便在桌面/ web场景中重用所有代码。

我的问题是:这个项目涉及到哪些概念?每种方法有哪些优点/缺点?他们有可能吗?

通过命名“接口”,我打算用def调用来做一些interfaces.py文件。这是一个坏方法吗?

我想知道一些书籍建议或资源给这两个选项 - 或者来自共享相同GUI/cmd/web目标的项目的源代码。

在此先感谢!

+0

重复这个? http://stackoverflow.com/questions/2857634/how-can-i-create-a-gui-on-top-of-a-python-app-so-it-can-do-either-gui-or- cli – 2010-05-18 20:27:14

+0

网络概念如何?那里提出的原则是否实现了这个目标?我的理解是,我可以创建一个4.导入foo_core的Web模块。称它为foo_web.py? – 2010-05-18 20:28:20

回答

1

怎么样a link来源?

在unix平台上有一个CLI命令和一个GUI前端是很常见的...... TransmissionBT bit torrent客户端就是您打算做的一个很好的例子。

+0

良好的资源,谢谢! – 2010-05-24 11:32:19

1

从应用程序逻辑中解耦表示层使其成为可能!

您可以将您的应用程序分为多个图层,一个图层是执行特定功能的可重复使用的代码部分。

例如,您可以将应用程序分为两层或更多层,一层是应用程序的表示层,另一层是模型层。这允许在呈现层的不同实现中重用应用的整个模型。

表示层包含实现并显示用户界面和管理用户交互的组件。除了组织用户交互的组件外,该层还包含用于用户输入和显示的控件。可以有多种表示层技术实现,如PyQt4,PyGtk,Html,控制台等。

为什么分离模型有用?

您可能想知道为什么将表示层以外的逻辑移入模型层非常重要。最大的原因是重用:放置在模型中的逻辑提高了应用程序的可重用性。随着应用程序的增长,应用程序经常会发展到其他领域应用程序可以作为Web应用程序开始,但其中一些功能稍后可能会移至智能客户端应用程序。应用程序的部分可以在网站和运行在服务器上的web或windows服务之间进行分割。另外,保持逻辑可以帮助开发一个好的设计(有时代码在UI中可能会变得越来越慢)。

但是,有一些警告:当大多数逻辑驻留在业务层中时,开发应用程序需要更长的时间。原因在于这通常涉及创建多组对象(数据层和访问代码,以及业务对象),而不是将其嵌入到应用程序中。执行此操作所需的额外时间对于某些管理人员和项目负责人来说可能是关闭的,尤其是因为它经常需要您了解面向对象的编程知识,而不是大多数人都乐于接受的。

您可以搜索Internet上的N层架构风格。

这是一个示例应用程序,它实现了几种类型的用户界面,但基于。 NET框架,对于Python来说是相似的。

http://microsoftnlayerapp.codeplex.com/

我工作的基础上PyQt4的呈现框架的一个大项目。应用的体系结构之一是N层。如果你想要一个基于PyQt4的简单例子,给我发一封电子邮件。