1.6 Qt的版本
Qt可以分為商業版和免費版。商業版又分為專業版和企業版。Qt免費版是Qt的非商業版本,是開源的,可以免費下載,遵循GPLv3版權協議。對于學習者來說,使用免費版即可。
Qt 5.12 LTS(長期支持版本)于2018年12月6日正式發布,官方提供為期三年的支持。自Qt 5.9.7發布以來,官方一直專注于提升軟件的質量,修復了2000多個bug;若從Qt 5.6.3算起,則已經修復5000多個bug。當然這只是開始,官方通過定期發布補丁,持續提升Qt 5.12軟件的質量。
和其他主要版本一樣,Qt 5.12 LTS也包含了許多新特性。下面看一下其中的幾個亮點。
(1)新的模塊和平臺
Qt 5.12完全支持Qt for Python,讓Python開發者可以使用各種Qt API。Qt for Python源自多年來一直在qt-project.org上托管的PySide項目,把大多數Qt C++的API開放給Python開發者使用。簡而言之,Python開發者現在可以創建復雜的圖形化應用程序和用戶界面。這是Python開發者的福音。
學過MFC開發的人都知道MFC可以生成ActiveX控件,然后放到網頁中使用。Qt目前也有這樣的功能,Qt 5.12包含了Qt for WebAssembly的第二個技術預覽版。使用Qt for WebAssembly,我們可以編譯Qt應用程序,而后在任何現代的Web瀏覽器中運行。Qt for WebAssembly仍被標記為技術預覽版,它的功能非常強大。現在的開發工具都支持網頁插件,Qt正在努力地追趕MFC。
除了支持Python和WebAssembly這兩個新平臺之外,Qt 5.12還完全支持兩個原來的技術預覽模塊:
· Qt Remote Objects:使Qt進程之間的通信變得天衣無縫。它允許將QObject的屬性、信號和槽暴露給另一個進程,且這兩個進程可以運行在不同設備上。
· Qt WebGL Streaming Plugin:另一個現在完全支持的插件,允許我們通過網絡將應用程序的用戶界面以流的方式傳輸到任何現代瀏覽器上。
(2)Qt QML和Qt Quick
在新版本中,對QML中的JavaScript引擎進行了一些重大改進。它從兼容ECMAScript 5升級到現在完全支持ECMAScript 7,同時也方便了第三方JavaScript庫的集成。它還支持ECMAScript模塊,可以從C++和QML/JS加載。
在Qt Quick中還添加了一種Item View,即TableView,它比之前QQC1中的實現更高效,并填補了View控件中最后一項重要的空白。Qt Quick Controls 2中的許多控件還擴充了新方法和新功能。
Qt 5.11的Pointer Handlers現在改名為Input Handlers,已經正式發布,并成為Qt Quick中的重要功能。過去使用MouseArea或TouchArea模塊實現復雜交互時非常困難,Input Handlers模塊簡化了復雜觸摸交互的設計。另外,Input Handlers還添加了兩個新的Input Handlers,用于懸停和拖動項目。
Qt Quick現在支持預生成的distance field textures。這些紋理包含在字形(glyph)中,并用于在Qt Quick中渲染文本,在編譯時預生成它們有助于提高應用程序的啟動性能,尤其是在低端嵌入式設備上。
(3)Qt Core和Qt Network
Qt Core獲得了對CBOR(簡明二進制對象展現)的支持,這是一種類似于JSON的二進制格式,但CBOR允許更多的數據類型和提供更多的靈活性。
新頒布的Qt改進了QRegularExpression,以支持通配符匹配,現在可以棄用舊的QRegExp類了。
在Qt Network中,添加了DTLS over UDP的支持。在MAC OS和iOS上,通過TransportSecurity后端可以支持ALPN和HTTP/2,并且在通用SSL后端中添加了PKCS#8支持。
(4)Qt GUI和Widgets
在Windows上,Qt現在支持Windows UI自動化,允許基于Qt的UWP應用程序與各種可用的可編程UI控件工具進行交互。Qt使用統一的Windows Pointer Input Messages(在Windows 8或更高版本中支持)替換了平板電腦、觸摸屏、觸摸板或鼠標中的輸入實現部分。現在新增了一些硬件的支持,如MS Surface系列中的screen digitizer,因而不再需要定制驅動來支持MS Surface系列了。
新版本Qt為QGradient添加了許多預定義的漸變(參考https://webgradients.com/)。QImage支持RGBA64圖像格式,每個顏色通道16位。這些信息可以從PNG或TIFF的文件中讀取,并上傳到OpenGL,或從OpenGL中獲取。
最后,新版本Qt還修復了Qt Widgets中的大量bug。
(5)其他更新
Virtual keyboard支持13種額外的鍵盤布局以及MyScript手寫識別功能,帶有一個公共擴展API,允許開發者用于定義自己的布局。
Qt Location包含一個升級的MapBox插件和幾個小的API增強功能,且已將Qt WebEngine升級到Chromium 69,并有客戶端證書的支持。
Qt for Automation更新了新版的KNX和MQTT模塊,支持最新版本的協議,作為技術預覽版本,添加了對OPC/UA的支持。
另外,Qt 3D Studio 2.2 Studio也將基于Qt 5.12 LTS。
最后,Qt 5.12還附帶了Qt Creator 4.8。
總而言之,Qt 5.12值得你學習和擁有!
- Power Up Your PowToon Studio Project
- Web Scraping with Python
- 華為HMS生態與應用開發實戰
- Learn Swift by Building Applications
- The Complete Coding Interview Guide in Java
- Mastering ROS for Robotics Programming
- .NET Standard 2.0 Cookbook
- Elasticsearch Essentials
- Python程序設計教程
- 深入理解C++11:C++11新特性解析與應用
- Git Version Control Cookbook
- Instant Highcharts
- 數據預處理從入門到實戰:基于SQL、R、Python
- ReactJS Blueprints
- Xamarin Mobile Application Development for Android(Second Edition)