大家好,我是A8U神经网络,今天又要跟大家分享一下wxWidgets开发神经网络程序界面的一些经验,希望对开发有兴趣的朋友有所帮助。
跨平台的GUI工具库以GTK +,Qt和wxWidgets闻名。 GTK +是用C实现的。由于C语言本身不支持OOP,因此GTK +入门非常困难,并且更加复杂且难以编写。 Qt和wxWidgets用C ++实现,每个都有大量的用户群。尽管我喜欢wxWidgets,但我已尽可能客观地收集了Qt和wxWidgets的客观比较。
wxWidgets络关于许可
Qt最初是由芬兰的TrollTech开发的,后来卖给了诺基亚(没错,曾经是著名的手机巨头诺基亚)。 2012年,Digia完全从诺基亚手中收购了QT的技术平台和知识产权。 QT背后总是得到商业公司的支持。它追求双重许可策略,一个是商业版本,另一个是免费版本。这种策略严重限制了Qt的用户基础。据说诺基亚在收购后已经意识到了这个问题。从4.5版开始,LGPL被采用,开发人员可以基于免费的Qt库发布商业软件。 wxWidgets最初是由爱丁堡大学的人工智能应用学院开发的。它于1992年开源,一直遵循LGPL。从一开始,wxWidgets便是程序员的免费午餐。
wxWidgets关于兼容性
由于Qt使用非标准的C ++,因此与其他库的兼容性会出现问题,并且每个平台上的图形界面都不完全是本机GUI,而是仅通过主题模拟系统上的标准GUI。看起来非常相似,但是在某些地方存在明显的缺陷。 Qt执行缓慢且过大是另一个问题。 wxWidgets使用标准C ++并与各种现有工具库无缝连接。它也是在不同平台上的完全本机GUI,并且是真正的跨平台。后记于2019年11月4日:网友donwmufromdying提醒Qt不再存在兼容性问题。为了避免产生误导,进行了这种解释。
wxWidgets关于服务和支持
由于诺基亚的接机,Qt提供了一系列完整的文档和RAD工具,并提供了最完整的平台支持以及对移动终端的最完整支持。在所有GUI工具库中,Qt库也是面向对象最稳定的。由于wxWidgets缺乏良好的商业化支持,因此开发文档和资源相对稀缺。由于强调了MFC程序的跨平台迁移,因此wxWidgets面向对象的包装并不令人满意。wxWidgets的主体是用C ++构建的,但是您不必通过C ++即可使用它。 wxWidgets具有许多其他语言绑定,例如wxPerl,wxJava,wxBasic,wxJavaScript,wxRuby等。wxPython是Python的wxWidgets工具库。
wxWidgets窗口程序的基本框架
无论是py2还是py3,在python世界中的安装都变得非常容易。如果在Windows平台上工作,建议同时安装pywin32模块。 pywin32允许您使用python开发诸如VC之类的win32应用程序。更重要的是,我们可以使用它直接控制win32程序,捕获当前窗口,获得焦点等。
如果您有互联网问题,也可以咨询我,谢谢!如果你也想一起学习人工智能,欢迎留言交流。原文:用python首选的GUI库wxPython做程序界面