GTK,这个吃了语言的亏,用C写面向对象实在是痛苦,虽然在思想上比MFC要先进了些,但是写出来的代码比...
探讨Linux下的GTK+、MFC和QT的学习价值,旨在解析各类GUI系统的特点与局限,以助开发者做出明智选择。GTK+是用C语言构建的GUI系统,以其深度面向对象设计著称,Gobject组件实现的功能比C++更纯粹的面向对象编程。GTK+的显著优点是运行时多态性,界面能够根据XML配置文件动态加载,极大地提升了系统的灵活性。
这一“不走套路”的特点源于Windows SDK的复杂性,MFC通过直接封装实现了易用性提升。尽管如此,MFC在上世纪90年代取得了巨大成功,但随着时代进步,Qt、WPF等新框架因其设计更简洁、更现代化而受到开发者青睐。传统PC领域在上世纪90年代末至本世纪初出现了百花齐放的UI库,如Qt、Gtk、wxWidgets等。Qt作...
Qt是一个跨平台图形库,MFC是WINDOWS API封装的C++形式,GTK+是 LINUX下桌面系统比较通用的库。 QT与MFC的简单比较: QT的应用主要在Linux下,但是它本身是跨平台的,也支持其他操作系统,是现在比较著名的界面库,著名的KDE就是使用QT开发的。MFC是提供给VC的,但是它主要是代码库,不像VCL和编译器挂钩很多,但是MFC主要...
基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界 面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西。优良的跨平台特性: Qt支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD...
WTL都算不上什么Framework,就是利用泛型特性对Win API做了层封装,设计思路也没摆脱MFC的影响,实际上用泛型做UI Framework也只能算是一次行为艺术,这个思路下继续发展就会变得没法用了,比如 代码过于复杂,编译太慢,出错不好调试等问题难以解决。而且封装得也不完全,
MFC是更高级的Win API封装,使用更彻底,很少见到HWND HDC,提供实用工具类,如高级控件、泛型容器、IO访问、网络协议等。MFC文档/视图模式简化了MVC,但数据管理和消息传递缺乏约束,消息映射功能简陋,容易出错。GTK用C编写面向对象,代码比MFC繁琐,引入布局概念,信号/槽机制复杂。相比MFC,GTK在思想上...
MFC就是个鸡肋了,除非你现有的工程师不会用别的,或者有历史遗留代码要保持兼容。 如果要求跨平台,那么就用Qt,wxWidgets和GTK+跟现在的Qt比起来没有什么优势了。 如果是iOS Android,那么最好用原生UI库,除非你写游戏。 参考:http://www.zhihu.com/question/23480014...
GTK,这个吃了语言的亏,用C写面向对象实在是痛苦,虽然在思想上比MFC要先进了些,但是写出来的代码比...