【问题标题】:What are the advantages in using Qt?使用 Qt 有什么好处?
【发布时间】:2010-12-13 00:52:22
【问题描述】:

我开始在 .Net 中开发一个新的 GUI 项目,有人向我推荐了 Qt。 我开始阅读它,但我不明白它相对于 Visual Studio 设计器的优势。

我明白为什么 C++ VS6 会使用它,但不明白为什么 .net 开发人员。

如果主要优势是可移植性,那么它在 JAVA 上的优势是什么?

谢谢!

【问题讨论】:

  • Qt 是专门的 C++ 库。我不希望 .NET 或 Java 开发人员对此感兴趣。
  • 还有一个 Qt 的 python 端口。但是,如果您使用的是 .net,则无论如何都不需要跨平台支持,因此请使用 microsoft 为您提供的任何内容。
  • 请注意,您可以使用 QT 和 .Net en.wikipedia.org/wiki/Qt_%28framework%29

标签: qt user-interface qt4


【解决方案1】:
  • 它是跨平台的,它使用 绘制窗口的系统资源, 控件等,因此您的应用程序 将获得原生外观(例如在 Mac 上 您的应用程序窗口将缺少 菜单栏和菜单栏将出现 在系统的菜单栏上,因为它是 Mac 上的标准行为 平台)。

  • 用 C++ 编写让您可以很好地控制,可以使用 STL、Boost 等出色的库;并且您的代码会被编译成本机二进制文件,无需虚拟机即可全速运行。

  • Qt 是开源的,由诺基亚的 Qt Group(前身为 Trolltech)开发,因此您拥有一个非常大的企业,在社区的支持下维护它并确保其不断发展。

  • 它拥有我见过的最好的 GUI 设计器(在使用 Windows 窗体和 WPF 之前,我曾使用过 .NET)

【讨论】:

  • 另一个问题 - 它为正确的平台翻译 c++ 命令?我可以在PC上开发一次,在Linux上编译它会自动使用“fork”?
  • 它抽象了许多底层平台,因此如果您不编写操作系统特定的代码(这在大多数应用程序中是不必要的),您可以在所有主要平台上编译相同的代码。到目前为止,我用 Qt 开发的大多数应用程序都是在 Linux、Windows 和 Mac 上编译的,甚至没有改变一行代码。
【解决方案2】:

看看这个帖子:Do you use Qt and why do you use it?

我个人喜欢 Qt,因为它是跨平台的,非常受欢迎,而且你可以很快地准备好原型!

【讨论】:

  • 请注意,自该问题得到解答后,Qt 上的许可已更改。借助 LGPL 版本,现在可以在商业应用程序中免费使用 Qt。
  • 很高兴指出卡伦斯基! LGPL 在 QT 的广泛接受中发挥了重要作用。
【解决方案3】:
  • 它不仅是跨桌面平台的跨平台,即 Windows、Mac OS 和 Linux,而且相同的代码也可以在基于 Embedded Linux、Windows CE/Mobile、Symbian 和新推出的 Meego 的设备上运行。对于嵌入式 linux,它有自己的基于帧缓冲区的轻量级窗口系统,无需 X11。
  • 现在它在 Qt Creator 中还有一个非常强大的 IDE,它再次适用于所有平台,因此无论您走到哪里,都可以为您提供相同的开发环境。
  • 最新的 4.7 提供了一种使用 QML+Javascript 为设备开发应用程序的新方法,用于支持流畅的多点触控手势界面,直接与 C++ Qt 类中完成的业务逻辑对话。
  • 基于 Webkit 工具包的 Qt Webkit 也是如此,您可以将 javascript 代码连接到在 Qt 中完成的核心 C++ 类。

【讨论】:

    【解决方案4】:

    Qt 在 IMO 的最大优势在于其跨平台能力。

    此外,由于它是经过编译的,它应该(至少在理论上)比 .NET 和 Java 应用程序运行得更快。

    【讨论】:

      【解决方案5】:

      它的跨平台能力和受欢迎程度很有吸引力。

      我认为最大的两个优点是:

      • API 设计非常出色
      • 与之配合得天衣无缝的工具:QtCreator、PySide、Jambi

      【讨论】:

        【解决方案6】:

        简而言之,

        • Qt 更适合 GUI 设计,因为它比其他语言更快
        • 由 CPU 直接管理
        • 使用智能内存管理
        • 它的 GUI Designer 非常有用且易于处理
        • 我在 Java 和 QT 上制作了相同的应用程序,并且在 QT 上运行速度快了 5 倍以上

        更详细的描述可以看这篇文章:

        http://turing.iimas.unam.mx/~elena/PDI-Lic/qt-vs-java-whitepaper.pdf

        是对Java和Qt的简单对比,很有意思。

        【讨论】:

        • 虽然这在理论上可以回答这个问题,it would be preferable 在此处包含答案的基本部分,并提供链接以供参考。
        猜你喜欢
        • 2013-08-08
        • 2012-11-28
        • 2010-09-21
        • 2011-04-28
        • 1970-01-01
        • 2011-09-16
        • 2011-04-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多