为什么没有简单的,跨平台的C / C ++ GUI可用于更高级别的语言?

时间:2011-02-21 15:08:57

标签: python user-interface

我有一点编程经验,我确实开始使用Swing(Java)和wxPython。 几年前,我最终不得不将我所做的应用程序移植到OS X,并且我在wxPython中遇到的所有问题都成倍增加。我已经开始寻找替代品了,我找不到比wxPython更好的东西。 QT是唯一一个接近的人。 GTK在Windows上是地狱(我上次检查过)。

我不认为我的困境是独一无二的,多年来其他一些人可能已达到同样的地位。

那么,为什么没有GUI工具包具有以下特征:

  1. 简单。基本窗口/对话框(本机打开和保存)+一组具有SOLID布局管理的基本小部件。附加(复合小部件)作为附加库实现。
  2. 在OS X,Linux和Windows上主动维护
  3. 主动维护至少3种高级语言的绑定。
  4. 积极维护最佳实践的文档GUI开发使用工具包的示例。 MVC / MVP正确解释。 GUI HIG(Apple风格)简单解释,完整的语义,范例,最佳实践,对齐,适当的间距以及来自成功软件的最佳实例。
  5. 为每种语言中的3个目标平台构建可分发可执行文件的简单方法。
  6. 使用Clutter,cairo等易于获取的库实现接近金属。
  7. 要求这些要求太多吗?如果是,为什么?

    帮助我理解为什么没有这么小的lib可用?

6 个答案:

答案 0 :(得分:5)

你试过Qt吗?它是用于更高级语言(C++)的跨平台PyQt GUI工具包。对我来说似乎很简单。

答案 1 :(得分:2)

你问的是一个具有巨大灵活性的简单库。能够构建3 * 3可执行文件,具有良好的文档和使用其他所有具有不同背景的库。所有这些都在不同的OS平台上进行。这是一个相当大的挑战,它认为QT最接近,但它不符合你的所有标准。

答案 2 :(得分:0)

SWT?您可以在Java,Python(以及Jython),Ruby(以及JRuby),Groovy,LISP(以及Clojure)以及在JVM上运行的任何其他内容中使用它。

这很简单,它使用本机小部件,它是主动维护的,并且因为你分发JAR或JAR和一些可解释的代码,所以有一个统一的构建过程。我可以评论它的文档,也不论它与任何金属的接近程度。

我认识到这可能不是你想要的答案。

答案 3 :(得分:0)

我的猜测是Windows开发人员不会因为他们拥有wpf等而烦恼,并且Linux开发人员不会因为习惯而烦恼。因此,只有那些厌倦了胜利发展并转向Linux的人才会接受它。也许是你开始一个开源项目的时候了:)我在想像wpf这样的东西,但基于opengl会是一个好的开始。

答案 4 :(得分:0)

Tk工具包满足您的大部分要求,但可能只有四号。它是非常跨平台的,尽可能使用本机小部件,易于使用等。分发的要求很难满足,因为这取决于语言,但是当与tcl一起使用时,你可以使用绝对的tclkits和starkits分发代码的绝妙方式(实质上,您的单文件可执行文件具有嵌入式虚拟文件系统,可以包含您的所有资产 - 代码,图像等)。

有关交叉语言的更多信息,请参阅tk的跨平台功能http://www.tkdocs.com

答案 5 :(得分:0)

WXWidgets似乎也很合适。