我对GUIdevise和开发的领域相当陌生。 我确实有一些以前的经验,但那是用Visual Basic。
我想开发一个基于命令行应用程序的Linux上相当全面的(虽然不是最先进的)GUI应用程序。 我有。 做了一些Googlesearch之后,我发现主要有三个好的 (或者我觉得是这样的)方法来实现这个目标:
- 以GLADE作为devise者的GTK +库
- 用Qtdesigner作为devise者的Qt库
- Java与Netbeans的摇摆
为了解决上述问题之一(或者拒绝所有这些问题),我将不得不了解上面列表中每个项目的以下几个方面。 这些方面按其优先顺序依次为:
- 许可证:我不能在这里掏出太多的钱
- 编程语言支持:我知道C / C ++和Java很less。
- 易于学习/使用
- 灵活性和强大function:如果我需要的大多数(如果不是全部的)function都可以在核心库中使用的话,那将是非常好的。
- (缺less)附加依赖关系:推理与点编号4相同
- 外观和感觉
- 支持的平台/可移植性(切换平台所需的努力)
关于上述话题的任何想法都将值得他们在黄金领域的重视(我不想在一个月后意识到我为我的工作select了错误的工具)。 还有什么其他的工具更符合我的意图,我不知道?
空白的答案将最有帮助。
编辑:好的,所以我终于用Qt。 简单地说,因为它比GTK +更容易学习,并且显得更加便于携带(对我来说)。
Qt是你最好的选择。
-
Qt许可证声明
诺基亚向被许可方授予非排他性,免版税的权利,以复制和分发目标代码形式的可再发行组件,以便在指定的平台上执行。
所以你应该没有关于牌照的问题
-
它是用C ++编写的
- 学习并不难
- 该库(尽管模块化)包含开发一个全面的图形用户界面所需的一切,以及一些额外的(XML,网络…)
- 我不知道这个,对不起,但我不认为有任何依赖关系(在客户端)
- 外观和感觉本身就是编译应用程序的环境(即Windows上的Windows外观和OSX上的OSX外观和感觉)
- Qt支持广泛的桌面环境
为了说明GTK的情况:
- LGPL许可。
- 用C语言编写,但几乎可用于任何编程语言,包括C ++,Python,Javascript,Haskell等等。最近开发了一种新的编程语言Vala,它具有本地支持GTK的对象,信号和属性的功能。 其语法与C#非常相似,其目的是允许使用GTK的应用程序的快速开发。 (这是因为在原始C中使用它往往会产生非常冗长的代码。)
- 如果你理解了面向对象的原则(这不一定是每个人在大学里学习Java课程的话),那么这很容易学习。
- 该库分为两个主要部分:GLib,核心库和GTK,GUI库。 GLib有许多开发应用程序所需要的功能:各种数据结构,线程,正则表达式,键值文件解析器,类似XML的标记语言解析器(对于完整的XML,您需要libxml2库),异步I / O , 联网。 GTK包含一切图形。
- 曾经有很多应用程序把整个GNOME库作为一个依赖项,但现在已经不是这样了,因为很多有用的功能已经被移植到了GLib和GTK中。 你应该可以编写一个功能齐全的应用程序,而不需要额外的依赖。
- 外观取决于平台。 在GNOME上,GTK基本上定义了外观和感觉。 在Windows上,本地外观和感觉几乎是完美的。 在OS X上,不是那么多。
- 在Windows和OS X上,需要一些操作来正确设置库。 OS X特别是一个痛苦的屁股,你可以选择运行X11服务器或使用难以设置的Quartz后端。 Qt在这方面可能更容易。 但是,您的应用程序的代码是完全跨平台的,因此不应该要求任何移植在这些系统上运行。
我希望我已经准确地代表了你的优点和缺点。