最喜欢的图形子系统来编程

时间:2009-02-14 18:18:45

标签: user-interface graphics

好的,这是一个有趣的问题,因为每个人都有发言权。

您最喜欢的GUI编程是什么,以及您编程的语言。给出一个简短的原因。 (例如Gtk,Qt,Windows等)。仅仅是一个FYI,这包括你用Python,Perl等编程GUI的任何脚本语言......

坦率地说,我总是在C中完成Gtk,但是我开始使用新的KDE在C ++中热身到Qt。我从未成为Windows编程的忠实粉丝。

ChrisW。说我没有给出Gtk / Qt的理由所以这里就是这样。我从Gtk开始,因为当我开始编程GUI时,我在Linux工作,并且有更多的Gtk信息可用。当我开始在KDE工作时开始使用Qt,但实际上转向Qt的基础是尝试转向C ++并学习更多语言。我从来不是基本Windows编程的粉丝,但我确实喜欢一点DirectX:P

9 个答案:

答案 0 :(得分:2)

我意识到您专注于应用程序GUI,但如果您想要一种快速,强大且有趣的方式来显示计算机上的任何内容,则无法通过Processing

来自网站:

  

处理是一个开源   编程语言和环境   对于想要对图像进行编程的人   动画和互动。它是   学生,艺术家,设计师使用   研究人员和业余爱好者   学习,原型设计和生产。   它的创建是为了教授基础知识   视觉中的计算机编程   上下文并充当软件   写生和专业制作   工具。处理是一种替代方案   专有软件工具在同一个   域。

答案 1 :(得分:2)

最近我有机会同时使用wxWindows和QT,而前段时间我使用FLTK和Gtk编写了一些小程序。我的结论是小部件库往往非常相似;每个人都有自己的实力和怪癖。

那么,我想提倡在GUI编程中使用高级语言,而不是提倡特定的库:开发周期更快,GUI程序很少受CPU限制,因此性能损失很少成为问题。

如果GUI程序必须执行一些密集的计算,只需使用C或C ++开发核心库,但保持接口使用Python或其他任何解释语言。

答案 2 :(得分:2)

人们喜欢抨击Swing因为老,慢,丑,但事实并非如此。 Swing是成熟的,在Java SE 6/10上比以往任何时候都更快,看起来足够好,并且可以容忍程序。最重要的是,我发现Java + Swing是最无故障的跨平台组合。它还可以与Jython(JVM上的Python)无缝地协同工作。

SWT也可以作为一种选择,但到目前为止我对Swing感到满意。

答案 3 :(得分:1)

特别是WPF,以及XAML的所有转世(WPF,Silverlight,Moonlight)。

C#在.Net 3.5 / Mono之上:$ 0 Visual Studio Express / MonoDevelop:0美元 能够告诉设计师“使我的程序漂亮”并继续编写功能:无价。

答案 4 :(得分:0)

我喜欢在DOS下写视频内存:对于一个动画游戏(即 Asteroids 克隆),这就像我知道如何做到这一点一样快(性能)(使用BIOS API)。

答案 5 :(得分:0)

这实际上是一个有点主观的问题,因此没有最佳或正确的答案。以下是基于我(有限)的经验:

我个人喜欢 wxWidgets PLT Scheme 来编写简单但灵活的GUI。有更高级的工具包,但我通常不需要他们的功能。 wxWidgets是灵活的,Scheme接口遵循Scheme传统的强大功能和相对简单的结构。我喜欢这样的事实:wxWidgets是可移植的,但却试图不实际绘制自己的小部件,但可以使用它所使用的环境的本机或常用工具包。它是用C ++编写的,但我从未使用过它的C ++接口。

这并不是说我认为Scheme通常是编写应用程序的最佳语言。实际上,我不会在Scheme中编写多种应用程序,即使我喜欢这种语言。但是关于GUI编程部分,这是我最喜欢的部分,因为它的直接性,以及Scheme等函数式语言与声明式GUI编程相得益彰的方式。

当然,使用它时,你不会有同样的控制级别,因为通过使用事件循环(例如使用Win32API或Xt / Intrinsics)使程序涉及窗口构造和输入反应的每个阶段。但这并不总是方便且经常是不必要的,而且似乎变得越来越普遍。


注意: wxWindows 工具包已重命名为 wxWidgets ,但我安装了较新版本的PLT Scheme仍然附带较旧的wxWindows 。我不确定是否有可用的wxWidgets更新包,或者它是否会包含在PLT Scheme的未来版本中。

答案 6 :(得分:0)

Qt4对我毫无疑问。既然它拥有LGPL许可证,那么以前不可能的各种应用程序都是有意义的。此外,它改变了C ++,大大改善了使用该语言的体验。 (像foreach和forever循环,整数上的原子操作和内存管理)

答案 7 :(得分:0)

Gtk是我使用的主要窗口绘图图形子系统(因此是我最喜欢的XD)。

然而,就普通图形子系统而言,OpenGL(通常与GLUT结合使用)对我来说是一次轻松而富有成效的工作。遗憾的是,我没有比较少的DirectX经验:S

答案 8 :(得分:0)

为了编写标准Windows组件的加强版本,我喜欢Borland的VCL,并对.NET非常满意。