好的,这是一个有趣的问题,因为每个人都有发言权。
您最喜欢的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
答案 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非常满意。