## 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 開發社區