各种GUI工具包的比较

来源:互联网 发布:服务器ip以及端口 编辑:程序博客网 时间:2024/05/18 03:15

  GUI程序的设计在现代软件设计是不可缺少的。我在准备在Tenshi语言,为其加入一种GUI开发工具包的绑定。
  Qt是我最早想采用的,因为它的库支持相当全面,面向对象十分充分。而且是跨平台的,特别是在Linux平台上,基于它的KDE更是主流的桌面环境之一。它的长相也是可以的。而且它的库有很完整的开发工具,网上这方面的资料也很多。但是,在Windows环境下,它的速度很不容乐观,一个文件选择的对话框不知怎么做得很差劲,而且打开速度很慢。还有一个就是那的那个moc(Meta Object Compiler)机制不好作为库使用。
  GTK+在开源领域是和Qt平分秋色的,但是一则我没怎么用过,二则其依赖包太多,三则速度也不行。所以也只能放弃。
  WxWidget的界面是Windows 95的特色,这种界面我本身还是比较满意,这个库也比较大而全,它与Lua的绑定也做得不错,速度上过得去,界面也不错,但这个库在Linux里没有顺利地编译通过。搞了半天也不知道是怎么回事。
  Fox的界面也是类Windows 95的,它比WxWidget要轻巧,但是有很多基本的功能不行,它的一个例子居然连中文也不能输入。这可太差了。
  还有一个RadC++,这个库速度快,界面好,但是两大缺陷,一是只限于Windows,另一个是里面大量使用了宏,不清楚其内部机制。
  最后一个,也是我目前最为中意的选择:FLTK,它非常小巧,速度快,没有使用大量宏。而且其机制(handle)比较容易成库,而且还有OpenGL的支持,还自带了叫Fluid的界面设计器,最后,它还是跨平台的,唯一的缺点是界面不是特别顺眼,不过我还要再包装,说不定会将其改得漂亮很多。还有它可以静态链接,所以运行时就不需要别的库了。不过它的控件对中文的支持还没有完全地测试,不过这些问题都不是太大了。