当前位置:首页 > 编程问答 >

Python中Qt和wxWidgets区别是什么

提问时间:2020年05月18日 10:29:17问题被 150 网友关注
共 1 个关于“Python中Qt和wxWidgetsPython中Qt和wxWidgets”精选答案
何鹤轩
推荐于:2020-05-18
最佳回答

跨平台的GUI工具库,较为有名的当属GTK+、Qt 和 wxWidgets 了。GTK+是C实现的,由于C语言本身不支持OOP,因而GTK+上手相当困难,写起来也较为复杂艰涩。Qt 和 wxWidgets 则是C++实现的,各自拥有庞大的用户群体。

这里客观地搜集了关于Qt 和 wxWidgets 的对比评价。

关于LICENSE

Qt最初由芬兰的TrollTech公司研发,现在属于Nokia(没看错,就是曾经闻名遐迩的手机巨头诺基亚),它的背后一直由商业公司支持,奉行的是双 license 策略,一个是商业版,一个是免费版。这个策略严重限制了Qt的用户群体。据说Nokia收购之后意识到了这个问题,自4.5版本之后采用了LGPL,开发人员可以发布基于免费Qt库的商业软件了。wxWidgets最开始是由爱丁堡(Edinburgh)大学的人工智能应用学院开发的,在1992年开源,一直遵循LGPL。wxWidgets从一开始就是程序员的免费午餐。

关于兼容性

由于Qt使用的是非标准C++,与其它库的兼容性会存在问题,在每个平台的图形界面也并不完全是原生界面( Native GUI),只是透过 theme 去模拟系統上的标准 GUI,所以看起來很像,有些地方则会明显看出破綻。 Qt的执行速度缓慢且过于庞大则是另一个问题。wxWidgets使用的是标准C++,与现有各类工具库无缝连接,在不同平台上也是完全Native GUI,是真正的跨平台。

关于服务和支持

由于Nokia的接盘,Qt提供了一系列完整的文档和RAD工具,并提供最为完整的平台支持,对于移动终端的支持最为完善。Qt库也是所有的GUI工具库中最为面向对象化的,同时也是最为稳定的。wxWidgets因为缺乏很好的商业化支持,开发文档、资源相对较为匮乏。由于是偏重考虑MFC程序的跨平台迁移,wxWidgets面向对象封装做得差强人意。

wxWidgets的主体是由C++构建的,但你并不是必需通过C++才能使用它。wxWidgets拥有许多其它语言的绑定(binding),比如 wxPerl,wxJava,wxBasic,wxJavaScript,wxRuby等等,wxPython 就是 Python语言的 wxWidgets 工具库。

参考资料

  • 从零开始学Python程序设计出版社:机械工业出版社 作者:吴惠茹,等
  • Python网络编程基础出版社:人民邮电出版社 作者:海特兰德
  • Python编程基础出版社:人民邮电出版社 作者:张健 张良均
  • Python云原生:构建应对海量用户数据的高可扩展Web应用出版社:电子工业出版社 作者:马尼什 塞西
  • python算法教程出版社:人民邮电出版社 作者:赫特兰
  • 相关问题

  • Python PyQt4实现QQ抽屉效果的实例代码11-12
  • Python3使用PyQt5制作简单的画板/手写板的代码详解12-19
  • python引用另一个文件的函数的方法02-26
  • Python pandas模块输出每行中间省略号问题及解决方法08-11
  • 如何搭建python和selenium开发环境步骤详解01-16
  • python在WIN运行时去掉DOS窗口显示的方法10-22
  • python调用RPC接口的知识点总结以及实例分享06-04
  • python编程中最常用的比较运算符实例01-18
  • 更多答案
    <
    1
    >

    Copyright 2018-2020 www.xz577.com 码农之家

    版权投诉 / 书籍推广 / 赞助:520161757@qq.com

    idea注册码