【问题标题】:Need help/guidance about creating a desktop application with gui需要有关使用 gui 创建桌面应用程序的帮助/指导
【发布时间】:2010-05-18 20:22:38
【问题描述】:

我打算用 Python 做一个桌面应用程序,来学习一些桌面概念。我打算用GTK还是Qt,还没决定哪一个。

事实是:我想创建一个可以从命令行调用并使用 GUI 的应用程序。所以它对 cmd 爱好者和 GUI 用户很有用。

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

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

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

通过命名“接口”,我打算只做一些带有 def 调用的 interfaces.py 文件。这是一个不好的方法吗?

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

提前致谢!

【问题讨论】:

  • 网络概念怎么样?那里提出的原则是否实现了这一目标?我的理解是我可以创建一个 4. 一个导入 foo_core 的 Web 模块。叫它 foo_web.py?

标签: python qt cross-platform gtk


【解决方案1】:

a link给源头呢?

拥有 CLI 命令和 GUI 前端在 unix 平台上确实很常见...TransmissionBT 比特 torrent 客户端是您计划做的一个很好的例子。

【讨论】:

    【解决方案2】:

    将表示层与应用程序逻辑解耦使之成为可能!。

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

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

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

    为什么分离模型有用?

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

    但是,对此有一些警告:当大部分逻辑驻留在业务层时,开发应用程序需要更长的时间。原因是这通常涉及创建多组对象(数据层和访问代码,加上业务对象),而不是将其嵌入到应用程序中。执行此操作所需的额外时间可能会让一些经理和项目负责人感到厌烦,尤其是因为它通常要求您对面向对象编程有一定的了解,这比大多数人都熟悉。

    你可以在网上搜索一下N-Layered架构风格。

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

    http://microsoftnlayerapp.codeplex.com/

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-02
      • 2010-12-23
      • 2013-02-15
      相关资源
      最近更新 更多