1+1=10

记记笔记,放松一下...

对Qt应用程序的一些胡乱记录

Wechat 4.0 written in Qt

记录一下,或许可作为后续GUI选型参考。反正Qt和其他跨平台方案相比,优势越来越不明显...

微信4.0 切换到 Qt

微信PC版 自4.0版本起【2024年10月】已经切换成 Qt 编写(11月6日微信Linux官网上线)。

它使用Qt静态构建,所以安装目录下没有常见的Qtxxxx.dll以及plugins等文件。不过

安装后,只需要用vim或其他文本编辑器打开Weixin.dll,即可看到大量Q字头的文本

  • QWidget
  • QApplication
  • QFrame
  • QListView
  • QtCore
  • qml
  • ...

Wechat 4.0 written in Qt

网友发现:Linux 版微信虽然主界面采用了 Qt 编写,但 Web 渲染的部分没有用QtWebEngine等方案,而是用了一个基于GTK的完全独立的程序。

微信(3.x)在Windows下使用的duilib。安装目录下有duilib license.txt等文件,而且打开WeChatWin.dll可以看到duilib字样,比如:

1
D:\Tools\agent\workspace\MicroMsgWindowsV3912\WeUIEngine\DuiLib\Core\Render\D3DRenderInterface.cpp

企业微信(4.x)使用的是也是duilib,目录下直接有duilib.dll动态库。

另外,Web部分用了CEF(The Chromium Embedded Framework)。

QQ

值得注意的是,QQ 2023年从个平台的原生方案转向跨平台的Electron方案时,知乎网友MagiLu曾透露:

Qt的确在性能上是一个很好的选择,但目前团队对Qt没有太多积累,基建基本没有,而且市场上相关人才其实比较匮乏,招聘就更难了,而当前QQ团队Web前端团队积累是比较充分的,可以比较好的权衡质量、性能和效率。

不过腾讯家的 腾讯会议、腾讯电脑管家 等软件都是Qt编写的。

其他

部分使用Qt的商业软件:

  • Adobe Photoshop Elements:Adobe推出的简化版Photoshop
  • Autodesk 3ds Max:用于3D建模、动画和渲染的专业软件
  • Autodesk Fusion 360:集成CAD、CAM和CAE功能的3D建模软件
  • Autodesk Maya:用于3D建模、动画和渲染的专业软件,广泛应用于电影和游戏行业。
  • Autodesk Revit:建筑信息模型(BIM)软件
  • Google Earth:著名的地理信息软件
  • Mathematica:Wolfram Research开发的数学计算软件,广泛用于科学、工程和数学计算。
  • TeamViewer:流行的远程控制和桌面共享软件
  • Telegram Desktop:流行的即时通讯应用
  • VirtualBox:Oracle的虚拟化软件
  • WPS Office:金山软件的办公套件。
  • Foxit PDF:福昕阅读器
  • Zoom:视频会议应用的桌面客户端

在EDA和CAD领域,应用似乎更广。

参考

  • https://en.wikipedia.org/wiki/Qt_(software)
  • https://en.wikipedia.org/wiki/Category:Proprietary_software_that_uses_Qt
  • https://en.wikipedia.org/wiki/Category:Software_that_uses_Qt
  • https://github.com/najepaliya/awesome_qt
  • https://github.com/duilib/duilib
  • https://github.com/chromiumembedded/cef

Qt