跨平台開發框架Qt v6.1發布:各大模塊新功能概述


Qt是一個跨平台框架,通常用作圖形工具包,它不僅創建CLI應用程序中非常有用。而且它也可以在三種主要的台式機操作系統以及移動操作系統(如Symbian,Nokia Belle,Meego Harmattan,MeeGo或BB10)以及嵌入式設備,Android(Necessitas)和iOS的端口上運行。現在我們為你提供了免費的試用版。

前往慧都網搜索Qt即可免費下載Qt6最新版

Qt組件推薦:

  • QtitanRibbon: 遵循Microsoft Ribbon UI Paradigm for Qt技術的Ribbon UI組件,致力於為Windows、Linux和Mac OS X提供功能完整的Ribbon組件。
  • QtitanChart :是一個C ++庫,代表一組控件,這些控件使您可以快速地為應用程序提供漂亮而豐富的圖表。並且支持所有主要的桌面

新模塊和修復模塊

以下是6.0中沒有的附加模塊:

  • Active Qt
    • Qt對ActiveX和COM的支持使Windows開發人員可以使用Qt:
      • 訪問和使用任何ActiveX服務器在其Qt應用程序中提供的ActiveX控件和COM對象。
      • 使它們的Qt應用程序可用作COM服務器,並使用任意數量的Qt對象和小部件作為COM對象和ActiveX控件。
    • Qt Charts仍然僅支持OpenGL的加速系列(AbstractSeries.useOpenGL)。如果使用其他圖形API進行渲染,則該系列將無法在Qt Quick中渲染。
  • Qt數據可視化
    • Qt數據可視化僅支持OpenGL RHI后端,並且需要將環境變量QSG_RHI_BACKEND設置為opengl。這可以在系統級別完成,也可以在應用程序主程序中使用qputenv(“ QSG_RHI_BACKEND”,“ opengl”)進行定義。
  • Qt設備實用程序
    • 僅支持網絡功能
  • Qt Lottie
    • Qt Lottie模塊已被移植到Qt 6和CMake構建系統
  • Qt狀態機
    • 新可用的Qt狀態機軟件包將同時包含Qt SCXML模塊和Qt StateMachine模塊。
  • Qt虛擬鍵盤
    • Qt虛擬鍵盤模塊已移植到Qt 6和CMake構建系統。
    • 新的字典管理器允許用戶定義的字典(如電話簿)由應用程序來實現。
    • VirtualKeyboardSettings中的新屬性。
    • 支持Cerence手寫(T9寫)和XT9。

這些模塊在在線安裝程序的 "附加庫 "中作為源碼提供。它們需要先編譯,例如使用在線安裝程序中的conan安裝程序。

現有模塊中的新功能

QtCore

  • QFuture具有新的便捷功能,可以在各種狀態下創建。現在可以在上下文對象的線程中調用其延續。
  • qfloat16可以未初始化構造
  • <QMath>提供qHypot(),將std :: hypot()推廣為任意多個參數,並支持qfloat16參數。
  • 函數qAddOverflow(),qSubOverflow(),qMulOverflow()現在支持溢出安全算術
  • removeIf()方法和對delete_if()的支持擴展到了更多的類
    • QHash,QMap及其Multi變體,其謂詞采用std :: pair或容器自己的迭代器。
    • QSet,還獲得insert()重載,該重載采用(但現在忽略)位置提示,以與stl兼容。
    • QString,QByteArray和QList也獲得了delete()支持,以刪除指定值的所有實例
    • QVarLengthArray,以及對delete()的支持和方法removeAll()和removeOne()
  • QStringView的API現在包括count(),contains(),indexOf(),lastIndexOf(),constBegin(),constEnd()
  • QLocale提供從枚舉到ISO代碼的映射,以及反向映射:languageToCode(),scriptToCode(),countryToCode(),codeToLanguage(),codeToScript(),codeToCountry()
  • QSocketNotifier現在支持更靈活的創建
  • 添加了QOperatingSystemVersion :: version(),QMetaType :: hasRegisteredDataStreamOperators(),QUntypedBindble :: isReadOnly(),其名稱希望可以說足夠。
  • 添加了QJniObject和QJniEnvironment作為公共API(主要用於Android)。
  • 對象屬性綁定
    • API改進
    • 添加到Qt Core類的綁定

QtGui

  • QColorSpace現在可以將自定義傳遞函數設置為表格。
  • QTextDocument為新的QUrlResourceProvider類添加了setter和getter方法
  • QUrlResourceProvider是一個新引入的類,它避免了對QTextDocument的子類化和重載loadResource()。
  • Vulkan API包裝器(QVulkanFunctions, QVulkanDeviceFunctions)現在也暴露了Vulkan 1.1和1.2核心API。
    • 通過將相關的新功能(supportedApiVersion())添加到QVulkanInstance,可以在創建實例之前查詢受支持的實例級版本。
  • 添加了QPainter::VerticalSubpixelPositioning提示。目前只有Freetype字體后端支持這個功能,當它可用時,它將以犧牲一些內存和額外的工作為代價,實現文本在垂直方向上的子像素定位。對於大多數用例來說,這個應該是不需要的,但對於非常特殊的情況,當你想在動態變換的畫家上垂直對齊繪畫元素時,它可能是有用的。

Qt小部件

  • QLabel為新的QUrlResourceProvider類添加了setter和getter方法

QtNetwork

  • QNetworkCookie現在支持SameSite功能
  • 添加了對SSL插件的支持(目前為私有API)
  • 引入了QNetworkInformation
    • QNetworkInformation當前使用系統API公開系統的可達性。
    • 目前在Linux上支持Darwin,Windows,Android和NetworkManager。

QtQml

  • 添加了QJSPrimitiveValue和QJSManagedValue,以實現比單獨使用QJSValue更好的對JavaScript執行的更細粒度的控制。
  • qt6_add_qml_module CMake函數(仍在TechPreview中)添加了一個qmllint目標,該目標在目標的QML文件上運行qmllint。

QtQuick3D

    • 技術預覽:“實例渲染”(Instanced Rendering),這是一種通過不同轉換繪制同一對象的多個實例的優化方法。該功能被認為是完整的,但仍可能會根據用戶反饋對API進行較小的更改。計划在Qt 6.2中完成。
    • 技術預覽:3D粒子,一種用於向3D場景添加粒子效果的API。該API已准備好進行測試,但尚未完成功能。
    • Qt Quick 3D現在支持變形目標動畫,即所有頂點都在兩組位置之間插值的動畫,給人一種形狀正在變形為另一種形狀的印象。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM