关于Qt的几个问题

时间:2012-11-14 16:50:26

标签: c++ qt cross-platform

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

  2. 你是否需要向Qt公司支付使用Qt分发程序的任何费用,或者你可以将它(程序)扔到那里然后说你使用了Qt。

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

  4. 使用我的程序的人是否必须先安装Qt框架才能运行它,否则程序会在没有安装的情况下运行?

  5. 是否可以轻松编译以在Windows,Linux和Mac OS上运行?

  6. P.S。:很确定这个问题涉及:“程序员常用的软件工具”,我不明白为什么有所有不喜欢并且问题已经关闭。 (艰难的人群)

3 个答案:

答案 0 :(得分:3)

  

免费吗?它看起来像在网站上说“立即尝试”,其中   让我担心它只是给你一个演示。

这是LGPL所以言论自由和免费啤酒。您必须对Qt本身发布任何更改,但您可以在商业应用中免费使用它。您可以购买商业许可证,为您提供更好的支持,并有权对图书馆进行任何修改或补充。

  

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

这是c ++,还有一个额外的预编译步骤,可以为GUI和一些特殊功能(信号/插槽)生成本机C ++代码。由于历史原因,它包含自己版本的大量c ++,现在是标准的(例如它自己的等效STL和它自己的线程),但你可以随意混合STL / boost / Qt类型。它适用于任何常规的c ++编译器。

  

使用我的程序的人是否必须安装QT框架   在他们可以运行它之前,或程序运行没有任何   安装?

您需要包含您使用的Qt共享库(dll / so)以及您的应用。 在Linux上,您可以使用系统Qt库,在Windows上,将dll混合在编译器之间比较棘手。

  

是否可以轻松编译以在Windows,Linux和Mac OS上运行?

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

答案 1 :(得分:2)

(拼写为“Qt”,而非“QT”,顺便说一句。)

  1. 你去了错误的网站。相反,请转到Qt Project网站。 Qt是免费和开源的(LGPL和GPL)。 Digia提供的商业许可是可选的。

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

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

  4. 如果你静静地与Qt联系,那么没有。如果不这样做,则需要在应用程序中包含Qt DLL。

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

答案 2 :(得分:1)

  1. It's dual-licensed。如果你正在制作FOSS,你几乎可以做任何事情。如果您生产闭源商业软件,如果它在DLL / .so中,您可以免费使用它,但如果您将其静态链接到您的应用程序中则必须付费。
  2. 见上文。取决于你如何链接它。
  3. 它是原生C ++,无需任何虚拟机或任何类似的东西即可运行。它确实使用“元对象编译器”(MOC)来生成部分代码,所以要做某些事情,你用另一种语言写一些东西,MOC转换为C ++,并编译它。 / LI>
  4. 如果您静态链接它,它将只在您的可执行文件中。如果你动态链接,它将在DLL / .so中,但我相信你可以安装它作为你的程序的一部分(即,它将在一个单独的文件中,但用户不必安装它分开)。
  5. 是的,无论如何都相当容易。