您现在的位置是:亿华云 > 应用开发
QT、WPF、PyQt、Electron 桌面应用解决方案
亿华云2025-10-02 18:41:47【应用开发】8人已围观
简介C++的 QT背景Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框
C++的用解 QT
背景Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,决方也可用于开发非GUI程序,用解比如控制台工具和服务器。决方Qt是用解面向对象的框架,使用特殊的决方代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,Qt很容易扩展,用解并且允许真正地组件编程。决方2008年,用解Qt Company科技被诺基亚公司收购,决方Qt也因此成为诺基亚旗下的用解编程语言工具。2012年,决方Qt被Digia收购。用解2014年4月,决方跨平台集成开发环境Qt Creator 3.1.0正式发布,用解实现了对于iOS的完全支持,新增WinRT、Beautifier等插件,废弃了无Python接口的GDB调试支持,集成了基于Clang的C/C++代码模块,并对Android支持做出了调整,至此实现了全面支持iOS、Android、WP,它提供给应用程序开发者建立艺术级的服务器租用图形用户界面所需的所有功能。基本上,Qt 同X Window上的 Motif,Openwin,GTK 等图形界 面库和 Windows 平台上的MFC,OWL,VCL,ATL 是同类型的东西。优势非常多的跨平台Desktop Application是基于QT编写的,它不仅能够保证跨平台,而且能够将运行效率最大化。Qt适合一些性能要求高的桌面应用,如果你只打算做桌面端的话。或者是一些特殊的场景,比如你要做个类似绘声绘影的视频编辑器,做个类似word之类的桌面应用,那你用electron要么是没法做,要不就是网站模板体验非常烂。实际应用上,比如wps,yy语音,VirtualBox,以及部分adobe的桌面工具都是Qt做的。
C# 的WPF和WinForm
Winform大多数人开发CS程序都是基于Winform去做的,它的有点在于简单、高效,但是它的缺点在于,如果你想深入的美化UI,需要耗费很大的力气,对于目前主流的CSS样式表来讲,美化Winform的界面以及自定义控件是需要耗费更多的时间的。
写的程序如果需要改界面牵扯很大。代码的服务器托管编辑可能会导致更多的错漏出现而不自知。大工程改界面更甚。
优势
PyQt5是python的一个GUI框架,存在界面设计器QtDesigner工具,可便捷的采用拖拽方式进行页面构造。然后通过工具将UI文件生成对应的python代码。
优势:
跨平台效果好,完美支持Mac、Windows、UNIX等多种系统;学习简单,面向对象的特性体现的比其他框架明显,在命名,继承,类的组织等方面保持了优秀的一致性,代码写起来比较优雅。功能强大,基本能实现QT能实现的所有功能文档丰富,PyQt使用者众多,同时可直接参考QT文档,对后期开发更加方便拥有QT Designer和QSS支持,界面效果更好pyqt5是双重许可,开发者可以在GPL和商业许可之间进行选择学完PyQt5之后只要再学习C++就能完成Qt开发转行,一举两得配合Django实现CS和BS全技能开发长期维护是很多程序员选择框架的重要标准,毕竟一个项目的运行周期可能很长,如果框架不能及时支持,后期带来的麻烦会很多开源免费,稳定性和安全性都好使用信号和槽机制,界面设计和业务代码分离开发JavaScript的 electron特点:
Electron是由Github开发,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库。Electron通过将Chromium和Node.js合并到同一个运行时环境中,并将其打包为Mac,Windows和Linux系统下的应用来实现这一目的。Electron适合一些偏业务的应用,对性能没有很多要求,主要是业务逻辑和UI展示,比较轻量级的应用。因为Electron可以一份代码同时得到网页版和桌面版,所以如果你的应用还需要网页版,那么Electron可以极大地节省你的开发和维护成本。比如钉钉,slack,现在越来越多的偏业务型(并不是需要高性能的专业工具)应用开始使用Electron来做了。优点开源的核心扩展比较容易,目前是基于 node 6.x,加之现在 gyp 已经非常人性化了,使得c++ 和 js 搞基非常容易。界面定制性强,原则上只要是Web能做的他都能做。是目前最廉价的跨平台技术方案,HTML+JS 有大量的前端技术人员储备,而且有海量的现存web UI 库。大多都很靠谱。相对其他跨平台方案(如 QT GTK+ 等),更稳定,bug少, 毕竟只要浏览器外壳跑起来了,里面的问题不会太多 ,当然我也遇到过一些暗坑。方便热更新。下载覆盖完事。当然这是所有脚本共有的优点。缺点:
1.卡,启动慢,这可能是webkit的锅。毕竟一个浏览器要支持的功能确实有点多。
2.除了主进程 你可能还需要启动一些辅助进程来完成工作。而每当你新开一个进程,起步价就是一个nodejs的内存开销!
3.丢帧,这个最严重,可我已习惯了native 的丝滑. mac下感觉还可以 win下有点够呛。
4.打出来的包太大。(很显然,即便是一个空包,也至少包含了一个浏览器的体积)
很赞哦!(9663)