Answers
纠正下楼上的 ,c++ 用的是 gtkmm, gtk和gtk+都是 c,这个+号是加入了面向对象特性的旧版的加强版。
mfc里可怕的“白盒封装”,可怕的不可以改动的注释,可怕的令人摸不着头脑的宏定义,可怕的消息与目标的紧密耦合……(就不谈跨平台了。)
当然如果花足够的精力(相当~~的大),这些问题都可以驾驭,但是,平心而论,从设计的美感和框架的先进性上,从学习曲线上,从代码的简洁性上(不用vc用ue写mfc试试),mfc的确丑了点。
mfc已经落后了,过时了。他没有把 C++ 的优势发挥出来,反而在其复杂度上又增添了一层复杂度。面向对象特性,本是 C 的弱项,但 gtk+ 却设计的相当优美,这要归咎于框架设计者的功力吧。当然,gtk出现的时间上晚了好多,理应先进一些。
现在在c#上,gtk也是相当流行的(gtk#)。
WxWidgets是按照MFC类似的方式组织的,不错,在win平台上其底层开始就是对mfc的又一次封装,不过后来用api了,在linux平台上底层是对gtk+的封装。
凡是用过这些gui库的同志们应该都深有体会的,所以劝初学者能够少走弯路,当然,如果有精力可以都试试,然后自己分析,自己决定。
希尓薇永不为奴
answered 11 years, 6 months ago