是否有任何框架允许我为 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 开发应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

Qt的简介

qt介绍

为脚本创建基于 Qt 的 GUI

GTK, GTK+, Qt, KDE, GNOME, Unity的区别与联系

Qt简介

Qt的简单介绍,发展和由来