Qt和其它GUI库的对比

2年前 (2024-04-28)

世界上的 GUI 库多如牛毛,有的跨平台,有的专属于某个操作系统;有的只有 UI 功能,有的还融了网络通信、多媒体处理、数据库访问等底层功能。

Windows 下的 GUI 库

Windows 下的 GUI 解决方案比较多:

  • 基于 C++ 的有 Qt、MFC、WTL、wxWidgets、DirectUI、Htmlayout;

  • 基于 C# 的有 WinForm、WPF;

  • 基于 Java 的有 AWT、Swing;

  • 基于 Pascal 的 有Delphi;

  • 基于Go语言的有 walk 和 electron;

  • 还有国内初露头角的 aardio;

  • Visual Basic 曾经很流行,现在逐渐失去了色彩;

  • 如果你有 Web 开发经验,也可以基于 Webkit 或 Chromium 将网页转换为桌面程序。


没有哪一种方案能够独霸 Windows,使用比较多的编程语言是 C++、C#、Java。

用 Qt 来开发 Windows 桌面程序有以下优点:

  • 简单易学:Qt 封装的很好,几行代码就可以开发出一个简单的客户端,不需要了解 Windows API。

  • 资料丰富:资料丰富能够成倍降低学习成本,否则你只能去看源码,关于 DirectUI、Htmlayout、aardio 的资料就很少。

  • 漂亮的界面:Qt 很容易做出漂亮的界面和炫酷的动画,而 MFC、WTL、wxWidgets 比较麻烦。

  • 独立安装:Qt 程序最终会编译为本地代码,不需要其他库的支撑,而 Java 要安装虚拟机,C# 要安装 网站站点" rel="nofollow" /> Linux下各种GUI库对比图

    图1:Linux 下各种 GUI 库对比图