wxWidgets Vs Qt

 我也标题党一回,呵呵。

 

用wxWidgets开发了一个小程序,一点技术含量都没有,就是定时关机而已。(后续准备加入ScreenShot什么的)顺便对比了一下wxWidgets和Qt的开发体验。之前我也用Qt开发了一个同样无聊的程序——一个开心农场的定时提醒程序。这两个程序基本思想都是一样的,就是定时提醒。

 

从wxWidgets说起吧。整个程序连学习带开发用了近一周的时间,现在可以不看开发指南,直接查文档就可以开发了。因为初学,所以程序是从一个sample开始的,这里就有个问题,因为wxWidgets的sample都是要跨平台的(用的wxAll包),所以sample里有很多和平台有关的代码,很影响代码的阅读。比之Qt,这一点要差不少。而且,用了很多的条件编译,也看着不爽。当然,为了得到native 的观感,这也是没有不可避免的。再就是makefile了,也许是因为我对makefile了解得不够吧,想把sample 的代码和makefile copy一份出来,另在一个文件夹里开始工作,确怎么也搞不定它。改了所有的相对路径,还是编译不了,还有,wxWidgets不知道是有意玩花的,还是它想show一下makefile的能力,wxWidgets使用了在make时指定debug or release,和 shared。这虽然很方便,但增加了makefile的复杂度(混乱度),让makefile看起来和改起来都不那么直接,因为要找到编译选项在哪里不是一件容易的事(当然也和我比较笨有关系)。我还是比较喜欢Qt的两个makefile,想make哪 个就make哪个。

 

这次没有用IDE,直接在代码里体验了一下layout的威力,真是WYSIWIYM。不过,你得对sizer各个各个属性都了解才能真正做到这一点,比如我现在还没有搞定一个文本框的大小问题。说到文本框,wxWidgets和Qt使用了不同的策略,在Qt中,提供了各种的TextBox,用来约束输入的。而wxWidgets中只有一个wxTextCtrl,然后你要用wxValidator来做约束。一开始,我为了找一个能输入时间的TextCtrl,浏览了N遍Class List。结果一无所获。最后在研究wxTextCtrl的时候,知道了这个东东。

 

然后是EventTable,这个,个人感觉Qt的方式更好一些,虽然Qt对C++做了一点改动,但显然的,Qt的代码更beauty,wxWidgets的更MFC一点,不是太beauty。虽然wxWidgets的动态EventTable和Qt的connect有一像,但比起民,slot/signal来,还不是那么的方便啊。

 

要说编译速度,那真是Qt的软肋了,Qt库的编译,除去demo和example,都要用近3个小时,还是在我的P7350上,要是在虚拟机里,天……。wxWidgets就不同了,都编译完了也就1h吧。还是在vbox,winxp guest的环境下。可能Qt用的模板太多了吧。

 

最后说一下程序的运行速度吧。这一点显然是wxWidgets胜出,没什么好说的,userspace和kernalspace是没有办法比的。

 

好了,差不多就这些了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值