是否有任何框架允许我为 Qt 和 GTK 开发应用程序?
Posted
技术标签:
【中文标题】是否有任何框架允许我为 Qt 和 GTK 开发应用程序?【英文标题】:Is there any framework that allows me to develop applications for Qt and GTK? 【发布时间】:2010-08-04 15:21:58 【问题描述】:我正在考虑允许开发独立于 GUI 库的应用程序,但允许根据需要插入 Qt 和 GTK。
【问题讨论】:
那么,如果 QT 和 GTK 是允许跨平台开发的“元”框架,那么您想要一个元元框架——一个允许跨(跨平台)开发的框架吗? wtf? 好吧。对于很多应用程序来说,为 ubuntu 和 kubuntu 提供两个版本是没有意义的。我知道您可以从一个应用程序运行另一个应用程序,但代价是,两个库需要同时使用。 java/swt? :) 我怀疑使用这两个库的“惩罚”是否超过了编写应用程序时的痛苦和过度工程。 a) 您需要发布和维护应用程序的两个“版本” b) 在任何桌面(UI 概念、菜单结构等)上都不会感觉完全“原生”。因此,与仅在 gnome 中使用 Qt 应用程序或在 KDE 中使用 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-qt 和tile-gtk 主题。有一个 2010 Google Summer of Code project 来改进这些主题。当然,当您使用 Tk 时,您还可以立即获得对 Windows 和 OSX 的支持。
【讨论】:
【参考方案5】:Qt 是一个框架,它在底层使用 GTK(至少在 Unix 上)。
有一个移动工具包,可以让您用 JS 编写所有内容,但可以在每个平台上编译为本机代码。我忘记了名字,但它是 iPhone 锁定的受害者。
【讨论】:
不,Qt底层没有使用GTK,最多是与GLib主循环集成。 您正在考虑 Titanium,不,它不违反 iPhone SDK 条款。 @derekerdmann 钛是我的想法。我认为它属于“无代码生成器”规则 具体细节我不太了解,但我相信既然它编译成原生代码,然后由原生工具编译,那就没问题了。检查他们的网站以确定。以上是关于是否有任何框架允许我为 Qt 和 GTK 开发应用程序?的主要内容,如果未能解决你的问题,请参考以下文章