我只是一个具有C ++基础知识的初学者
我希望能够使用GUI创建跨平台的本机Linux / Windows程序
我要问的是我应该开始学习哪种语言和GUI结构?
我原本打算学习Qt,但看到诺基亚似乎正在走下坡路,我认为这是一个坏主意。微软提供的C#和.NET显然不合适。 GTK +看起来很诱人,但我赞扬开源项目,我更喜欢更精致的工具。或者我应该学习Java?
我再一次只是一个有能力学习任何语言的初学者:)
答案 0 :(得分:3)
另一种选择:wxWidgets。
Code::Blocks支持wxWidgets。非常好,如果你想在多平台上使用C ++。如果您愿意,您可以出售您的工具(就像您可以使用GTK +一样)。
Java也是如此,总是需要java开发人员。 Netbeans非常适合快速启动GUI。但是你可以从C ++中学到更多东西。
另一方面,在非开源开发中只使用Qt和Java。 如果你只是为自己做,请使用带有Code :: Blocks imo的wxWidget(你可以在python中使用它)
答案 1 :(得分:3)
Qt一路走来。
像Google Earth这样的真正的工业级应用程序,以及无数的开源应用程序,包括所有KDE,当然还有其他非KDE应用程序。
背后有一个强大的社区(Qt现在是一个开源项目,拥有自己的治理而不仅仅是诺基亚部门),无数的例子和非常体面的文档。
答案 2 :(得分:2)
C#实际上是一个选择,感谢Mono。我使用C#开发Linux应用程序,到目前为止一直非常高兴。
GTK是一个GUI框架,而不是一种编程语言。如果您选择C#,则使用GTK#或者如果选择C ++,则使用GTK +。我敢肯定也有其他选择。
Python,C ++,C#,Java和其他语言都是选择。老实说,如果我不得不推荐一种语言,我会选择C#,但我确实对我使用的语言有偏见。
C#是一种编写许多流行的Linux应用程序的语言,包括Banshee Media Player,这是一个流行的例子。
现在,公平地说:
如果您想要易于学习并且不需要极速的东西,请考虑使用Python。如果速度很重要,请考虑C ++。为了在速度和易开发性之间取得良好的中间地位,请考虑C#。
我知道很多人会对此持不同意见,但我个人认为Java是C#flat,我只会推荐它,如果你想在速度和易用性之间取得中间地位,但不喜欢C#。虽然一个很大的优势是它可能是最容易跨平台使用的。 (接下来是Python,然后是C#,然后是C ++)
我希望我的帖子有用,有偏见。祝你好运!
编辑:此外,GTK非常精致。我花了一点时间习惯从WPF(Windows Presentation Foundation)切换,但在我弄清楚差异后,我印象非常深刻。 WPF不适用于Linux,Windows表单不如GTK,老实说我不知道了。在我看来,GTK确实是Linux GUI的最佳选择。
EDIT2:MonoDevelop是一个用于C#的优秀的 IDE,内置GTK#GUI构建器,简直太棒了。它可以与Visual Studio相媲美。