关于Qt的几个问题


  1. 它是免费的吗?它看起来像是在网站上说"立即尝试">,这让我担心它只是给你一个演示。

  2. 你是否必须向Qt公司支付任何费用才能使用Qt分发程序,或者你可以把它(程序)扔出去,然后说你使用了Qt。

  3. 是本机C++,还是一些奇怪的东西,就像.NET程序不是真正的C++一样,它们只是看起来像。

  4. 使用我的程序的人在运行Qt框架之前必须安装它吗?还是该程序在没有任何安装的情况下运行?

  5. 它可以很容易地编译为在Windows、Linux和Mac操作系统上工作吗?

p.S.:很确定这个问题与"程序员常用的软件工具"有关,我不明白为什么会有所有的不喜欢和关闭这个问题。(硬汉)

它是免费的吗?看起来网站上写着"立即尝试"让我担心它只是给你一个演示。

这是LGPL,所以言论自由,啤酒免费。你必须发布对Qt本身的任何更改,但你可以在你的商业应用程序中免费使用它。您可以购买一个商业许可证,它可以为您提供更好的支持,并有权保留对库的任何修改或添加。

它是本机c++,还是一些奇怪的东西,就像.NET程序一样不是真正的c++,它们只是看起来像。

它是c++,有一个额外的预编译步骤,可以为GUI和一些特殊功能(信号/插槽)生成本地c++代码。由于历史原因,它包含了自己版本的许多c++,这些c++现在是标准的(例如,它自己的STL等价物和它自己的线程),但你可以随心所欲地混合STL/boost/Qt类型。它可以与任何常规c++编译器配合使用。

使用我的程序的人必须安装QT框架吗在他们运行之前,或者程序将在没有任何安装

您需要包括您使用的Qt共享库(dll/so)以及您的应用程序。在linux上,您可以使用系统Qt-libs,而在windows上,在编译器之间混合dll更为棘手。

它可以很容易地编译为在Windows、Linux和Mac操作系统上工作吗?

它很容易构建,configure --a list of options for stuff you want或者您可以下载所有平台的编译二进制文件。

(拼写为"Qt",而不是"Qt",顺便说一句)

  1. 您访问了错误的网站。相反,请访问Qt项目网站。Qt是免费和开源的(LGPL和GPL)。Digia提供的商业许可证是可选的。

  2. 如果你不购买商业许可证,你就不需要支付任何费用。当你分发你的程序时,你需要遵守GPL或LGPL的条款,根据你选择的这两个许可证中的哪一个。

  3. 它是本机C++,除了QML模块,它使用JavaScript引擎。QML模块是可选的;如果你愿意,你可以坚持使用C++。

  4. 如果您针对Qt静态链接,则不。如果不这样做,则需要在应用程序中包含Qt DLL。

  5. 这三件事我都做了,而且很容易。实际上,为了创建我的应用程序的Windows版本,我使用MXE在Linux中交叉编译它们。

  1. 它是双重许可的。如果你生产自由和开放源码软件,你几乎可以做任何你想做的事情。如果你生产的是闭源商业软件,如果它在DLL/.so中,你可以免费使用,但如果你静态地将它链接到你的应用程序中,你必须付费
  2. 请参见上文。这取决于你如何链接到它
  3. 它是本机C++,运行时没有任何虚拟机或类似的东西。它确实使用了一个"元对象编译器"(MOC)来生成部分代码,所以要做一些的事情,你可以用另一种语言写一些东西,MOC将其翻译成C++,然后编译它
  4. 如果你静态地链接它,它只会在你的可执行文件中。如果你动态链接,它将在DLL/.so中,但我相信你可以将其作为程序的一部分安装(即,它将位于一个单独的文件中,但用户不必单独安装)
  5. 是的,无论如何都相当容易

最新更新