## 1.9 问题与解答
问:LGPL 是什么,和 GPL 有什么区别
答:GNU 宽通用公共授权(GNU Lesser General Public License,或 LGPL)是由自由软件 基金会(Free Software Foundation)发布的一个免费软件授权。它被设计作为在 strong-
copyleft GNU 通用公共授权,或 GPL,和简单授权的授权(例如 BSD 授权和 MIT 授权)之
间的一个妥协,LGPL 对程序本身设置了 copyleft 限制,但这些限制不适用于仅与该程式连 接的其他软件。
这两个授权都是比较复杂的,需要仔細阅读才可以领会他们重要的区别。总的来说, GPL 要求任何衍生工作成果,比如使用 Qt 开发的应用程式都必须根据 GPL 条款重新進行授 权;而 LGPL 限制性更低,允许开发闭源应用程序。目前最新的 Qt4.5 在 LGPL 2.1 版本下 发布 Qt,并继续在 GPL 3.0 版本下提供 Qt。
问:请问版主,商业版 Qt 提供有服务,而我们开源版遇到自己不能解决的问题怎么办?
答:如果你觉得发现的问题确实是 来自于 Qt 本身,那么你也可以把它提交给 Qt 的。下面是网址:
http://www.qtsoftware.com/forms/feedbackform.html?cid=15 再者,就是你可以把你的问题发到 Qt 的论坛里面,请大家一起讨论解决。关于 Qt 的论坛,在本书的附录中有详细的介绍,可以参考。
问:从哪里可以购买到 Qt 商业版
本人想使用商业版 Qt,主要是与 msvc.net 集成的版本,不知道在哪里可以购买到,在 国外和国内的价格是否有不同呢?
答:个人买的话,在下面的网页上你可以查到价格: http://www.qtsoftware.com/products-cn/pricing-1 你也直接和北京办事处联系一下看如何购买,网址如下: http://www.qtsoftware.com/about-us-cn/contact
据了解,目前国际上 Qt 的价格是统一的,不存在不同地域价格有差异的问题。 在下面的网页上你可以了解到 Qt 的定价体系以及详细的支持信息,了解这些对你使用
商业版有很大的帮助:
http://www.qtsoftware.com/products-cn/pricing-1
问:Qt4.5 LGPL 版与商业版有何区别?
现在 Qt4.5 支持 LGPL 了,应该就是说不用开放源代码,也可以免费做商业用途了是吧? 但看它主页上还有个商业版本的,那个又是做什么用的?难道说用 LGPL 是不能用作商业的?
答:这两者是不一样的。要明确的是 LGPL 版的 Qt 也是开源版的一种,只是它遵循的协议 与 GPL 略有不同,简单来说,LGPL 允许你在不改变 Qt 源代码的条件下,开发商业应用程序 而不必开放自己的源代码,这实际上是为 Qt 的商业应用扫清了最后的障碍。
具体讲 LGPL 和商业版的主要区别如下:
首先是 LGPL 版的没有某些商业版拥有的功能(比如 ActiveQt),同时要求你不能改变Qt 的源代码的情况下才行;商业版的则可以改变 Qt 的源代码。此外,商业版有商业数据库驱动支持,比如 Oracle 等;运行于 Windows 的商业版有 ActiveX 支持。还有就是商业版有售后服务的支持,LGPL 版没有。
问:我想问一下,看到有些书上说只有 Qt4 的商业版才可以和 Visual Studio 结合使用,开源版只能用 MinGW,是这样吗?
答:首先你说的“结合使用”是要看程度的,Qt4 开源版可以使用 Visual Studio 作为 编译器,但不能集成 Qt 工具套件(有些特殊方法可以做到,但笔者不推荐) 。要集成使用 的话,需要使用 Qt 提供的 VS Intergration,但它只提供给商业版。
问:我使用开源版连接 sqlserver2005,用 QODBC 的,弹出提示说“Driver not loaded”,请问非商业版是不是不能连接 Sql Server?
答:是的,默认情况下,非商业版没有提供对 SQL Server 的驱动支持,但是非商业版 可以使用某些免费的第三方 ODBC 模块来连接 SQL Server。
问:请问我在商业版中编写的代码能在开源版下编译通过么,反过来呢?
答:从 Qt 的设计上看,应该是可以的,“一次生成,到处编译”是 Qt 的本质特色。 但有一个前提,就是首先要确认你的代码没有使用只有在商业版中才有的功能,然后确定你 的商业版和开源版的对应关系,最好是版本号取得一致 。最后,你在开源版中试一下,如果 可以编译并成功运行,就没有问题。反过来的话,应该是只需要对应好版本就可以了。
问:大家谁知道 Qt 授权中的“专属应用程序”是什么涵义?请指教
如题,在 Qt 官方网站上关于 Qt 授权的说明中写道:“如果您想使用 Qt 开发专属和/ 或商业软件,但又不想共享源代码,那么 Qt 商业授权是正确的授权方式”。
那么这里的“专属应用程序”或者是“专属软件”是什么意思,与商业的有什么区别呢?
答:专属是指的自有知识产权, 那个英文单词在这个语境下确实是不太好翻译,可以
简单的理解为不开源。原英文解释如下:
The Qt Commercial version is the appropriate version to use for the development of proprietary and/or commercial software.
专属软件就是上面那个 proprietary 的,其实应该是拥有产权的,私有的。 我更倾向 于理解为软件版权的归属是私有的,而不是软件的使用范围是私有的。
问:还有一个问题,也是 Qt 的授权中 提到的:“运行时收费”,又是什么含义呢? 比如商业版,已经通过购买 License 了,为何还要运行时收费呢?
答:运行时收费就是每卖出一份软件拷贝,收取一份费用。简单的说就是按装机量收费。
- 第 1 章 走近 Qt
- 1.1 Qt 简介
- 1.2 Qt 纪事概览
- 1.3 Qt 套件的组成(以 Qt4.5 为准)
- 1.4 Qt 的授权
- 1.5 Qt 的产品
- 1.6 Qt 的服务与支持
- 1.7 Qt 的最新进展
- 1.8为什么选择 Qt
- 1.9 问题与解答
- 1.10 总结与提高
- 第 2 章 Qt 的安装与配置
- 2.1 获取 Qt
- 2.2 协议说明
- 2.3 安装 Qt
- 2.4 配置 Qt4 环境
- 2.5 问题与解答
- 2.6 总结与提高
- 第 3 章 Qt 编程基础
- 3.1 标准 C++精讲
- 3.2 Windows 编程基础
- 3.3 Linux 编程基础
- 3.4 Mac 编程基础
- 3.5 问题与解答
- 3.6 总结与提高
- 第 4 章 Qt 4 集成开发环境
- 4.1 常见的 Qt IDE
- 4.2 Qt Creator
- 4.3 Eclipse
- 4.5 问题与解答
- 4.6 总结与提高
- 第 5 章 使用 Qt 基本 GUI 工具
- 5.1 使用 Qt Designer 进行 GUI 设计
- 5.2 使用 Qt Assistant 获取在线文档与帮助
- 5.3 使用 Qt Demo 学习 Qt 应用程序开发
- 5.4 问题与解答
- 5.5 总结与提高
- 第 6 章 Qt 4 程序开发方法和流程
- 6.1 开发方法
- 6.2 Hello Qt
- 6.3 几个重要的知识点
- 6.4 问题与解答
- 6.5 总结与提高
- 第 7 章 对话框
- 7.1 QDialog 类
- 7.2 子类化 QDialog
- 7.3 快速设计对话框
- 7.4 常见内建(built in)对话框的使用
- 7.5 模态对话框与非模态对话框
- 7.6 问题与解答
- 7.7 总结与提高
- 第 8 章 主窗口
- 8.1 主窗口框架
- 8.2 创建主窗口的方法和流程
- 8.3 代码创建主窗口
- 8.4 使用 Qt Designer 创建主窗口
- 8.5 中心窗口部件专题
- 8.6 Qt4 资源系统专题
- 8.7 锚接窗口
- 8.8 多文档
- 8.9 问题与解答
- 8.10 总结与提高
- 第 9 章 Qt 样式表与应用程序观感
- 9.1 应用程序的观感
- 9.2 QStyle 类的使用
- 9.3 样式表概述
- 9.4 使用样式表
- 9.5 问题与解答
- 9.6 总结与提高
- 第 10 章 在程序中使用.ui 文件
- 10.1 uic 的使用
- 10.2 Ui_YourFormName.h 文件的组成
- 10.3 编译时加入处理.ui 文件的方法
- 10.4 运行时加入处理.ui 文件的方法
- 10.5 信号与槽的自动连接
- 10.6 问题与解答
- 10.7 总结与提高 本章主要讲解了以下内容:
- 第 11 章 布局管理
- 11.1 基本概念和方法
- 11.2在 Qt Designer 中使用布局
- 11.3 基本布局实践
- 11.4 堆栈布局
- 11.5 分裂器布局
- 11.6 自定义布局管理器
- 11.7 布局管理经验总结
- 11.8 问题与解答
- 11.9 总结与提高
- 第 12 章 使用 Qt Creator
- 12.1 Qt Creator 概览
- 12.2 Qt Creator 的组成
- 12.3 快捷键和常用技巧
- 12.4 Qt Creator 构建系统的设置
- 12.5 处理项目间依赖关系( Dependencies )
- 12.6 Qt 多版本共存时的管理
- 12.7 使用定位器在代码间快速导航
- 12.8 如何创建一个项目
- 12.9 实例讲解
- 12.10 使用 Qt Creator 调试程序
- 12.11 问题与解答
- 12.12 总结与提高
- 第 13 章 Qt 核心机制与原理
- 13.1 Qt 对标准 C++的扩展
- 13.2 信号与槽
- 13.3 元对象系统
- 13.4 Qt 的架构
- 13.5 Qt 的事件模型
- 13.6 构建 Qt 应用程序
- 13.7 总结与提高
- 附录 A qmake 使用指南
- A.1 qmake 简介
- A.2 使用 qmake
- 附录 B make 命令
- B.1 命令解释
- B.2 使用 make 自动构建
- 附录 C Qt 资源
- C.1Qt 官方资源
- C.2 Qt 开发社区