【问题标题】:Is there any framework that allows me to develop applications for Qt and GTK?是否有任何框架允许我为 Qt 和 GTK 开发应用程序?
【发布时间】:2010-08-04 15:21:58
【问题描述】:

我正在考虑允许开发独立于 GUI 库的应用程序,但允许根据需要插入 Qt 和 GTK。

【问题讨论】:

  • 那么,如果 QT 和 GTK 是允许跨平台开发的“元”框架,那么您想要一个元元框架——一个允许跨(跨平台)开发的框架吗? wtf?
  • 好吧。对于很多应用程序来说,为 ubuntu 和 kubuntu 提供两个版本是没​​有意义的。我知道您可以从一个应用程序运行另一个应用程序,但代价是,两个库需要同时使用。
  • java/swt? :) 我怀疑使用这两个库的“惩罚”是否超过了编写应用程序时的痛苦和过度工程。 a) 您需要发布和维护应用程序的两个“版本” b) 在任何桌面(UI 概念、菜单结构等)上都不会感觉完全“原生”。因此,与仅在 gnome 中使用 Qt 应用程序或在 KDE 中使用 Gtk 应用程序相比,我认为使用类似的东西没有任何真正的优势。

标签: user-interface qt frameworks gtk


【解决方案1】:

我只会使用 Qt。它包括类似 Gtk 的风格,模仿 Gtk 标准对话框,如果在 Gnome 下运行,甚至使用 Gtk 文件对话框,所以基本上它可以像其他任何东西一样将自己集成到 Gtk 中(当然 Gtk 除外),或者至少它可以更好地集成到 Gtk 中比 Gtk 在 Qt 中的作用。

【讨论】:

    【解决方案2】:

    您可以尝试使用wxWidgets,但如果您走这条路,您往往会得到“最小公分母”。您最好的选择是设计您的软件,以便您可以在所需的工具包中插入必要“视图”的实现,并保持核心 UI 工具包的独立性。

    显然这是更多的工作,但如果有强烈的业务需求,那就这样吧。

    【讨论】:

    • wxWidgets 不使用 Qt,它只使用 Gtk。
    【解决方案3】:

    我不知道有任何框架做这样的事情(我不知道如何在不遭受严重的“最小公分母”综合症的情况下完成它),但我做“跨工具包”开发(使用多个 GUI 工具包的应用程序),我写了一篇关于为什么以及如何做到这一点的文章:

    http://www.hardcoded.net/articles/cross-toolkit-software.htm

    【讨论】:

    • 有时“最小公分母”并不是那么糟糕。这实际上取决于手头的任务,但是很多很多 GUI 只需要笔记本、树、菜单栏、工具栏和按钮。
    • 如果最低公分母不是问题,那么任何框架都可以使用,不需要元框架。我认为几乎所有的 GUI 框架都可以模仿所有其他框架的外观。
    【解决方案4】:

    你可以试试 Tk,它支持主题。有一个tile-qttile-gtk 主题。有一个 2010 Google Summer of Code project 来改进这些主题。当然,当您使用 Tk 时,您还可以立即获得对 Windows 和 OSX 的支持。

    【讨论】:

      【解决方案5】:

      Qt 是一个框架,它在底层使用 GTK(至少在 Unix 上)。

      有一个移动工具包,可以让您用 JS 编写所有内容,但可以在每个平台上编译为本机代码。我忘记了名字,但它是 iPhone 锁定的受害者。

      【讨论】:

      • 不,Qt底层没有使用GTK,最多是与GLib主循环集成。
      • 您正在考虑 Titanium,不,它不违反 iPhone SDK 条款。
      • @derekerdmann 钛是我的想法。我认为它属于“无代码生成器”规则
      • 具体细节我不太了解,但我相信既然它编译成原生代码,然后由原生工具编译,那就没问题了。检查他们的网站以确定。
      猜你喜欢
      • 2011-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多