设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

超越MFC的诺基亚开源GUI库:Qt

2010-5-17 10:29| 发布者: joejoe0332| 查看: 9431| 评论: 7

  对比一下Visual C#设计界面的Event/Handler关联器:

 

  是否很是神似?当年Visual Studio 6.0跟MFC就提供了类似的事件-处理函数钩连工具,如今开源软件也提供了,并且更为强大易用。

  除了Qt Creator,Qt的窗体设计器(Qt Designer)还可以作为插件,在别的IDE下使用。例如,可以插入Netbeans、Visual Studio和Eclipse。至今,插件仍然有一定的问题,例如Socket/Slot关联器,在ubuntu 9.10 + Netbeans 6.8的搭配下,Signal/Slot关联器无法使用,而在Windows 7+Visual Studio 2008 SP1下正常。

  为了开发多语言程序,Qt提供了Qt Linguist,可以方便地编辑多语言资源。

  内存管理

  可能是出于对嵌入式应用的性能考虑,现在版本的Qt并没有集成功能非常强大的(类似于Java或.net的)垃圾收集器,但是也不用在内存管理上太过费心。Qt中大部分widget都从QObject类继承而来,而QObject有一个上级对象的属性;当上级对象(如窗体中按钮的上级对象是窗体)退出内存,Qt内置的机制会将所有下级对象一起销毁。如果在上级对象未退出内存的时候需要删除下级对象以释放内存,则可以调用freeLater( )函数来释放。当然,像传统的C++一样,Qt不解决野指针陷阱,对象删除后的指针需由程序员自己消灭或者另赋他址。相比于MFC的内存管理,Qt的内存管理已经相当人性化,期待下一个版本加入内置的垃圾收集器,让程序员可以选择由垃圾收集器收集内存空间。

  跨平台开发

  Qt开发的程序都是跨平台的,可以在Windows、FreeBSD、Linux(X11)、MacOSX四大主流桌面平台上运行,还支持Symbian、Embedded Linux、WinCE、Maemo四种嵌入式平台,而OpenSolaris、iPhone OS、Android、Amazon Kindle平台的开发也正在进行中。

  Qt Creator本身可以在Windows、Linux(X11)、MacOSX上运行。

  授权

  Qt主要以三种协议发布:GPL、LGPL和Commercial。三种协议的代码相同,只是协议不同而已。GPL就不用说了,LGPL协议允许基于Qt开发开源或闭源/商业软件;Commercial协议需要花钱从Nokia购买,每开发者授权价格在2000美元之下,附加一年的技术支持;只有在需要对Qt本身进行修改,并且修改的部分不能开放源代码的时候,才有必要采用Commercial协议。因此个人和小企业开发者使用Qt绝大部分情况是不要钱的。

酷毙

雷人
1

鲜花

鸡蛋

漂亮

刚表态过的朋友 (1 人)

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部