需要有关使用gui创建桌面应用程序的帮助/指导

时间:2010-05-18 20:22:38

标签: python qt cross-platform gtk

我打算使用Python做一个桌面应用程序,以学习一些桌面概念。我将使用GTK或Qt,我还没有决定使用哪一个。

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

将来创建一个Web界面会很有趣,因此它可以使用用模板语言创建的html界面在某个服务器上运行。

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

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

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

我想知道一些图书推荐或两个选项的资源 - 或来自项目的源代码,这些项目共享我所追求的相同GUI / cmd / web目标。

提前致谢!

2 个答案:

答案 0 :(得分:1)

将表示层与应用程序逻辑分离使得它成为可能!。

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

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

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

为什么分离模型有用?

您可能想知道为什么在表示层之外移动尽可能多的逻辑并进入模型层是很重要的。最重要的原因是重用:放置在模型中的逻辑增加了应用程序的可重用性。随着应用程序的增长,应用程序通常会扩展到其他领域应用程序可以从Web应用程序开始,但稍后可能会将某些功能移动到智能客户端应用程序。应用程序的某些部分可以在网站和在服务器上运行的Web或Windows服务之间分开。此外,保持逻辑有助于开发出良好的设计(有时代码可能会在UI中变得更加笨拙)。

但是,有一些警告:当大多数逻辑驻留在业务层时,开发应用程序需要更长的时间。原因是这通常涉及创建多组对象(数据层和访问代码,以及业务对象),而不是将其嵌入到应用程序中。这样做的额外时间可能是一些管理人员和项目负责人的挫折,特别是因为它往往要求你对面向对象的编程有所了解,而不是大多数人都习惯。

您可以在互联网上搜索N层建筑风格。

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

http://microsoftnlayerapp.codeplex.com/

我正在开发一个基于PyQt4演示框架的大项目。应用的架构风格之一是N层。如果您想要一个基于PyQt4的简单示例,请给我发一封电子邮件。

答案 1 :(得分:1)

来源a link怎么样?

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