Megjelent a Qt 6.6

kami911 képe

A Qt népszerűségét az egyszerűsége, a keresztplatformos fejlesztés támogatása és a gazdag grafikus felhasználói felületi elemek kialakítása miatt szerezte. A Qt alkalmazásokat natív kinézetűvé lehet tenni a célplatformnak megfelelően, és lehetővé teszi az alkalmazások egyszeri írását, majd azok futtatását több különböző platformon anélkül, hogy teljesen újra kellene írni az alkalmazás kódját.

A Qt keretrendszer számos modult és komponenst tartalmaz, amelyek lehetővé teszik az asztali alkalmazások, mobilalkalmazások, webalkalmazások, játékok és beágyazott rendszerek fejlesztését. Ezek közé tartozik például a Qt Widgets modul, a Qt Quick modul, a Qt Network modul, a Qt Multimedia modul, a Qt SQL modul és sok más.

A Qt alkalmazásokat C++ nyelven lehet írni, de a Qt számos más programozási nyelvet is támogat, például Python, JavaScript és QML (Qt Meta-Object Language). Ezáltal a fejlesztők széles körű választási lehetőséget kapnak a programozási nyelv kiválasztásában.

A Qt-t gyakran használják asztali alkalmazások, okostelefonos alkalmazások, beágyazott rendszerek, médialejátszók, grafikus szoftverek, játékok és még sok más alkalmazás fejlesztésére. A Qt sikeresen használják világszerte és számos ismert alkalmazás épül rá, például a KDE asztali környezet, a VirtualBox virtualizációs szoftver, a Autodesk Maya 3D modellező szoftver és a WhatsApp asztali verziója.

A Qt 6.6 újdonságai

Fontos megjegyezni, hogy az API és az ABI stabilitás nem garantált.

Qt Graphs modul

A Qt Graphs modul tervezett helyettesítője a Qt Data Visualization modulnak. A Qt Gyors 3D-t használja a natív grafikus háttér támogatásához, ahelyett, hogy az OpenGL 2.1-re támaszkodna, mint a Qt v teszi. A modul a Qt Adatvizualizáció nagyrészt vagy teljes funkcionalitását fogja nyújtani, bár néhány fejlett funkció még hiányozhat az előzetes verzióban.

Qt 6.6 új funkciók

Qt Core modul

  • Hozzáadott Q_NODISCARD_CTOR makró, amelyet a konstruktorok jelölésére használhatunk "nodiscard" módban. A makró azokon a fordítókon [[nodiscard]]-ra fordul, amelyek támogatják, és nem csinál semmit más fordítókon.
  • Hozzáadott "assign()" túlterhelések a következő Qt tartályokhoz: QVarLengthArray, QList, QByteArray és QString. Ezek a funkciók kényelmes módszert kínálnak az új adatok hozzárendelésére a meglévő kapacitás felhasználásával.
  • Az erőforrásszintű fájlok tartalmát kihagyhatjuk, ha a "QT_DISCARD_FILE_CONTENTS" forrásszerver tulajdonságot állítjuk be a CMakeLists.txt fájlban. A fájlnódok megmaradnak. Amikor .qrc fájlokat írunk manuálisan, ugyanezt az eredményt érhetjük el egy fájlnód üres tulajdonságának igazra állításával.
  • A QFileInfo osztályhoz hozzáadásra került egy "readSymLink()" tagfüggvény, amely a nyers elérést adja vissza, valamint új túlterheléseket kapott, amelyek QTimeZone-t használnak a timestamp-sal kapcsolatos funkciókhoz.
  • A QProcess::UnixProcessParameters struktúrát és a QProcess::UnixProcessFlag enumot használhatjuk a QProcess::setUnixProcessParameters() tagfüggvényben, hogy módosítsuk egy gyermekfolyamat Unix-specifikus beállításait és paramétereit, például a felesleges fájlleírók lezárását.
  • Az új QNativeIpcKey osztály egy natív kulcsot tartalmaz, amit a QSharedMemory és a QSystemSemaphore használ, így jobb támogatást nyújt a sandboxolt alkalmazások számára az Apple platformjain. További információért lásd a Native IPC kulcsokat.
  • A legtöbb Qt API, amely időtartamokkal dolgozik, most releváns adattípusokra lett portolva a std::chrono segítségével.
  • A QXmlStreamReader::hasStandaloneDeclaration() jelzi, hogy a dokumentum rendelkezik-e egyértelműen kijelölt önálló nyilatkozattal.

Qt GRPC modul

  • Hozzáadott QGrpcChannelOptions és QGrpcCallOptions. Ezek az új módszerek lehetővé teszik beállítások átadását csatornákhoz és hívásokhoz.
  • Hozzáadott QGrpcMetadata a hívásokhoz további metaadatok átadásához.
  • Integrált QML-típusok támogatása az automatikusan generált QtGRPC osztályokhoz.

Qt GUI modul

  • Hozzáadott QFont::setFeatures() a közvetlen hozzáféréshez az OpenType funkciókhoz a betűkészletben.
  • A QPalette most már tartalmaz egy "accent()" színbejegyzést, amely alapértelmezetten a rendszer "accent" színét használja.
  • A QRhi osztályok most már teljes dokumentációval rendelkeznek, és korlátozott kompatibilitási ígérettel kerülnek kínálatra. A Qt Rendszergrafikai interfész (QRhi) egy 3D grafikai API és shading nyelv absztrakciós réteg, amelyet olyan modulok használnak, mint a Qt Quick és a Qt Quick 3D, hogy átjárható renderelési motorokat és anyagrendszereket valósítsanak meg a Direct 3D 11/12, Vulkan, Metal, OpenGL és OpenGL ES tetejére. Azok az alkalmazások, amelyek saját alacsony szintű renderelést kívánnak végezni, anélkül, hogy közvetlenül a potenciálisan platformspecifikus 3D API-k és shading nyelvek támaszkodnának, most már használhatják a QRhi-t és a kapcsolódó osztályokat egy Qt Quick jelenet kiegészítéséhez, rendereléshez egy QWindow-ba, offscreen rendereléshez egy textúrába vagy GPU-számítási terhelések indításához. Korábbi Qt 6 kiadásaiban a QRhi osztályok teljesen privátok voltak, és a dokumentáció nem tartozott a szabványos Qt dokumentációs készlet részéhez. Most hasonlóan kezelik őket a QPA (QPlatform*) osztályokhoz, ami azt jelenti, hogy speciális osztályokat alkotnak, amelyek nem kínálnak minden szabványos mintát és forráskód/bináris kompatibilitási ígéretet a nyilvános Qt API-khoz képest, de azonban elérhetők a középhaladó vagy haladó szintű alkalmazásfejlesztők számára. A QRhi API-k dokumentációja most már a szabványos Qt dokumentáció részét képezi. Emellett bemutatásra került a "rhiwindow" példa.
  • Hozzáadott egy Direct 3D 12 háttérrendszert a QRhi-hoz. Ez jelenleg nem érinti az alkalmazásokat, mivel a Qt Quick és a QQuickWidget alapértelmezett háttérválasztása továbbra is a Direct 3D 11 marad Windows-on, és ez a jövőben sem várható megváltozás. Az új D3D12 háttérrendszert jelenleg kísérleti stádiumnak kell tekinteni, és főként olyan alkalmazások számára hasznos, amelyeknek szükségük van arra, hogy a Qt-től kérjék, hogy a renderingjét a Direct 3D 12 használatával hajtsa végre, hogy egyszerűsítse az alkalmazás saját vagy valamilyen külső komponens renderingjével való együttműködést, amely D3D12-t igényel.
  • A Qt 6 alkalmazások most már támogathatnak egyedi vagy platformspecifikus vágólapformátumokat a QUtiMimeConverter (macOS-hoz) és QWindowsMimeConverter (Windows-hoz) új osztályok segítségével. Ezek az osztályok azonosító változatai a Qt 5-ben használt QMacPasteboardMime és QWindowsMime típusoknak. Lásd a portolási útmutatót az meglévő implementációk adaptálásához.
  • A QTextListFormat::setStart() lehetővé teszi, hogy egy szöveglista egy adott számmal kezdődjön, ami nem feltétlenül 1.

Qt Location modul

  • A térképi elemek most már helyesen jelennek meg, beleértve azokat, amelyek körbeveszik a földet vagy tartalmaznak lyukakat.
  • A térképi elemek most már különböző referenciafelületeken is megjeleníthetők. A QLocation::ReferenceSurface felsorolás az opciókat "Térkép" és "Föld" biztosítja, amelyeket az elem típusok referenciafelületeként lehet használni azzal a céllal, hogy az elem lapos térképen jelenjen meg, vagy kövesse a föld gömbfelületét.
  • Az egér görgője megváltoztathatja a tájékozódást, ha nyomva van a Shift módosító billentyű, vagy megváltoztathatja a dőlést, ha a Control módosító billentyűt nyomva tartják.

Qt Multimedia modul

  • A Qt Multimedia könyvtár mostantól nem kéri az audio- vagy videóengedélyeket, hanem csak ellenőrzi, hogy azokat biztosították-e. A kliensalkalmazásoknak a C++ vagy QML engedélyek API segítségével kell kérniük az engedélyeket.

  • Az új QWindowCapture osztály támogatást nyújt az egyes asztali alkalmazásablakok videóképeinek rögzítéséhez egy QMediaCaptureSession keretében. A rögzített videókat bármilyen videó kimenetre irányíthatjuk, például a QMediaRecorder vagy a QVideoWidget számára. Az ablak rögzítése csak az FFmpeg háttérrel működik.

  • A QMediaRecorder bővült olyan tulajdonságokkal, amelyek jobb kontrollt biztosítanak a videóminőség, felbontás és bitráta felett.

Qt PDF modul

  • Az új QPdfLinkModel osztály a hivatkozás geometriáját és célállomásait szolgáltatja egy adott oldalon.

  • A QPdfDocument::pageModel() implementálja a Qt::DecorationRole-t a lapok miniatűrjének dinamikus megjelenítéséhez.

  • Az új QPdfPageSelector osztály egy speciális QSpinBox a widget alapú PDF nézők számára.

Qt Positioning modul

  • A Qt Pozícionálás könyvtár mostantól nem kéri a helyengedélyeket, hanem csak ellenőrzi, hogy azokat biztosították-e. A kliensalkalmazásoknak a C++ vagy QML engedélyek API segítségével kell kérniük az engedélyeket.

Qt Protobuf modul

  • Engedélyezve a Qt Core és Qt GUI típusok használata a *.proto séma részeként.

  • Integrált QML-típusok támogatása az automatikusan generált QProtobufMessage osztályokhoz.

  • Áttértékelték az implicit megosztott adatokat az automatikusan generált QProtobufMessage osztályok esetében. Ez lehetővé teszi a message típusok elérését érték szerint a QML-kontextusból anélkül, hogy sok példányt készítenénk belőlük.

  • Hozzáadott támogatás a well-known típusokhoz a google.protobuf.Any típushoz.

  • Integrált támogatás a oneof típushoz, ami egy protobuf-szerű unió típus, amely nem szükségszerű, hogy tartalmazzon egy értéket.

Qt Bluetooth modul

  • A Qt Bluetooth könyvtár mostantól nem kéri a bluetooth engedélyeket, csak ellenőrzi, hogy azokat biztosították-e. A kliensalkalmazásoknak a C++ vagy QML engedélyek API segítségével kell kérniük az engedélyeket.

  • Qt most már egy natív 128 bites unsigned int típust (quint128) kínál alapértelmezés szerint. Azokon a platformokon, amelyek támogatják, a QBluetoothUuid(quint128) konstruktor és a QBluetoothUuid::toUInt128() metódus most már ezt a típust használja, helyettük, a korábbi Qt verziókban használt saját struktúra helyett. Amíg a kódod a quint128 típust opak típusként kezeli, a változás forráskód- és bináris-kompatibilis, de ha problémába ütközöl, érdemes elgondolkodni az új overloadek használatáról, amelyek a QUuid::Id128Bytes típust veszik át. Azokon a platformokon, amelyek nem támogatják a 128 bites int típusokat (például az MSVC), a Qt Bluetooth továbbra is a Qt Bluetooth által használt saját struktúrát használja.

Qt QML modul

  • Hozzáadott támogatás az alkalmazásengedélyek kezeléséhez QML segítségével. A Qt QML Core modul különböző engedélytípusokat kínál, amelyekkel ellenőrizhetjük vagy kérhetjük az engedélyeket platformfüggetlen módon. További információért lásd a QML alkalmazásengedélyeket.

  • Az XMLHttpRequest objektum most már két új funkcióval rendelkezik a modern böngészőkhöz való közeledés érdekében. A responseURL tulajdonság hozzáadásra került, amelyet a HTTP átirányítások ellenőrzésére használhatunk. Hasonlóképpen, hozzáadásra került az overrideMimeType metódus, amelyet a XMLHttpRequest objektum arra használhat, hogy a választ egy konkrét MIME típus szerint parszolja, anélkül, hogy a válasz Content-Type fejlécben szereplő típust használná.

  • A QML nyelvi szerver most már támogatja a munka meghatározásához és kereséséhez szükséges kezdeti támogatást. Teljes dokumentumformázást is támogat.

  • Most már lehetséges a qmllint kiegészítésének bővítése pluginekkel. A plugin API jelenleg technikai előzetes verzióban található.

Qt Quick modul

  • Hozzáadott font.features tulajdonság a közvetlen hozzáféréshez az OpenType funkciókhoz a betűtípusban.

  • A TableView most már rendelkezik egy selectionMode tulajdonsággal, amely lehetővé teszi egyetlen vagy több cella kijelölésének irányítását.

  • A TreeView most már rendelkezik egy rootIndex tulajdonsággal, amely csak egy adott részfát jeleníti meg a modellben.

  • Az AnimatedImage most már támogatja a sourceSize tulajdonságot.

  • Az "QT_QUICK_FLICKABLE_WHEEL_DECELERATION" környezeti változó lehetővé teszi a gördülőgombokkal történő görgetés utáni lassítás testreszabását. Alapértelmezés szerint a gyorsulás most kikapcsolva van, így a görgetési távolság arányos a "kattintások" számával (hacsak a platform nem biztosítja saját gyorsulását), de egy olyan értéket is beállíthatunk, amely kevesebb, mint 15000, hogy visszaállítsuk a régi működést. A flickDeceleration tulajdonság most csak érintő képernyős villanásokra vonatkozik.

  • A legtöbb tulajdonság most már "FINAL", ami azt jelenti, hogy nem lehet árnyékolni új tulajdonságokkal, amelyek ugyanazzal a névvel rendelkeznek. Egy figyelmeztetés jelenik meg, ha egy "FINAL" tulajdonság árnyékolva van. Javasoljuk, hogy a felhasználók változtassák meg ezeknek a tulajdonságoknak a nevét, hogy elkerüljék a váratlan viselkedésváltozást.

  • Több QRhi-rel kapcsolatos funkciót is hozzáadtak és bemutattak a QQuickWindow, QQuickRenderControl és QSGTexture osztályokban. Most már egyszerűsített a QRhi, QRhiSwapChain vagy QRhiCommandBuffer lekérdezése az onscreen vagy offscreen Qt Quick rendereléshez. Néhány funkció, amelyek korább

  • Engedélyezve a Qt Core és Qt GUI típusok használata a *.proto séma részeként.

  • Integrált QML-típusok támogatása az automatikusan generált QProtobufMessage osztályokhoz.

  • Áttértékelték az implicit megosztott adatokat az automatikusan generált QProtobufMessage osztályok esetében. Ez lehetővé teszi a message típusok elérését érték szerint a QML-kontextusból anélkül, hogy sok példányt készítenénk belőlük.

  • Hozzáadott támogatás a well-known típusokhoz a google.protobuf.Any típushoz.

  • Integrált támogatás a oneof típushoz, ami egy protobuf-szerű unió típus, amelyek rejtve voltak a dokumentációban a QRhi* osztályok miatt, most láthatóvá válnak. Hozzáadták a createTextureFromRhiTexture() függvényt a QQuickWindow osztályhoz, ami a createTextureFromImage() párja.

  • Frissítették a színséma példákat, hozzáadták a "rhiunderqml" példát, lecserélték a régi, csak OpenGL-t használó "fboitem" példát egy új, hordozható "rhitextureitem" példával, és frissítették a "customrendernode" példát. Ezek együtt bemutatják a Qt Quick jelenet három módszerét a saját alacsonyszintű 2D/3D renderelés bővítésére (az három megközelítés: alárendelt/fölrendelt, egyéni elem renderelése textúrára renderelve, egyéni elem a QSGRenderNode segítségével).

  • Hozzáadták a Path::simplified tulajdonságot az utak automatikus egyszerűsítéséhez a renderelés előtt. Ez tükrözi a QPainterPath::simplified() függvényt.

  • Hozzáadtak támogatást a GPU időbélyegek gyűjtéséhez a QQuickWindow renderingjéhez. Amikor engedélyezve van a QQuickGraphicsConfiguration setTimestamps() vagy az azonos környezeti változó, a GPU-oldali időzítések megjelennek a hibakeresési naplózás kategóriák nyomtatásakor, mint például a qt.scenegraph.time.renderloop, és a Qt Quick 3D DebugView elemében, kiegészítve a CPU-oldali időzítéseket. Jelenleg csak a Direct 3D 11, Metal és Vulkan támogatja ezt (feltéve, hogy a Vulkan implementációja támogatja az időbélyeglekérdezéseket). A többi 3D API támogatása a jövőben fog bekerülni.

Qt Quick Controls modul

  • Hozzáadtak egy "live" tulajdonságot a SpinBox-hoz. Ez lehetővé teszi, hogy ellenőrizzük, hogy az érték frissítődik-e, amikor a felhasználó szerkeszti a displayText értékét.

  • Hozzáadtak egy "wrapped" jelzést a Dial-hoz. Ez akkor kerül kibocsátásra, amikor a tárcsa túlhalad az értéktartományán, azaz túlmegy a maximális értéken a minimálisra, vagy fordítva.

  • Hozzáadták a "startAngle" és "endAngle" tulajdonságokat a Dial-hoz. Ezek a tulajdonságok vezérlik a tárcsa kezdő és végpontjának szögét fokokban.

Qt Quick Layouts modul

  • Hozzáadták a LayoutItemProxy-t, egy segítőelemet a responsive layout-ok írásához (technikai előzetes).

  • Hozzáadták az "uniformCellSizes", "uniformCellWidths" és "uniformCellHeights" tulajdonságokat, amelyek alkalmazhatók mindenféle elrendezés típusra (technikai előzetes).

  • A StackLayout most már frissíti a currentIndex-et, ha egy elemet szúrnak be vagy távolítanak el az aktuális index alatt.

Qt Quick Shapes modul

  • Hozzáadtak egy kísérleti görbe renderelés háttérrendszert, amely magasabb minőségű görbékkel rendereli a geometriát és alkalmaz anti-aliasingot anélkül, hogy MSAA-t használna. Ezt a Shape::preferredRendererType tulajdonság segítségével lehet kiválasztani.

Qt Quick 3D modul

  • Hozzáadtak egy QML API-t a Textur

Qt SQL modul

  • Hozzáadtak egy Mimer SQL plugin-t.

  • A MySQL/MariaDB új kapcsolati lehetőségekkel gazdagodott: MYSQL_OPT_PROTOCOL, MYSQL_SHARED_MEMORY_BASE_NAME, MYSQL_OPT_TLS_VERSION, MYSQL_OPT_SSL_MODE.

  • Az ODBC plugin most már az összes natív hiba kódját visszaadja a QSqlError objektumokban.

  • A QSqlQuery új függvényeket kapott: boundValueName() és boundValueNames().

Qt TextToSpeech modul

  • A QTextToSpeech osztály most már több új funkciót kínál, amelyek minden motorral elérhetők:

    • Az alkalmazások több szöveg darabot adhatnak hozzá egy szintetizáló motorhoz az "enqueue" segítségével.
    • Az új "aboutToSynthesize" jelzés kibocsátásra kerül, éppen azelőtt, hogy egy szövegrészletet szintetizálnának.
    • Az egyik motor által kínált hangok közül kiválaszthatók az adott kritériumok szerint a "findVoices" függvénnyel. A QML kód továbbá használhatja a "VoiceSelector" típust egy csatolt tulajdonságként.

Nem minden új funkció elérhető minden motorral. Az alkalmazások az új "Capabilities" jelzővel és "engineCapabilities" tulajdonsággal ellenőrizhetik, hogy a jelenleg használt motor melyik új funkciót támogatja:

  • Ha a motor rendelkezik a "Synthesize" képességgel, a QTextToSpeech most már szintetizálni tudja a szöveget PCM adattá. A "synthesize" funkciót egy hívható függvénnyel használhatjuk, amely akkor kapja meg a PCM adat darabokat, amikor azt szintetizálták.
  • Ha a motor rendelkezik a "WordByWordProgress" képességgel, a QTextToSpeech minden szóra kibocsátja a "sayingWord" jelezést, amikor az adott szövegrészletet kimondják.

Qt WebEngine modul

  • A válaszfejlécek most már hozzáadódnak a QWebEngineLoadingInfo objektumhoz.

  • Lehetségesvé tették további válaszfejlékek hozzáadását a QWebEngineUrlRequestJob objektumhoz.

  • Hozzáadták a "QWebEngineUrlScheme::FetchApiAllowed" zászlót, ami lehetővé teszi az HTML5 Fetch API engedélyezését egyéni URL séma esetén.

  • Létrehozták a "qWebEngineGetDomainAndRegistry()" függvényt, amely lehetővé teszi az aktuális felső szintű tartomány olvasását, ahogy a Chromium/QtWebEngine látja.

  • Hozzáadták a "QWebEngineSettings::DisableReadingFromCanvas" beállítást, amely letiltja a vászonolvasást a további ujjlenyomatok védelme érdekében.

Qt Widgets modul

  • A QWidget most már rendelkezik egy új "setTabOrder()" túlterheléssel, amely egy inicializáló listát vesz át, lehetővé téve az egész lánc beállítását egyetlen hívással.

  • A QMessageBox::Option most már lehetőséget nyújt minden üzenetpanel esetében arra, hogy használja-e a natív üzenetpanelt vagy sem.

Platformváltozások

Asztali platformok

macOS

  • A felhasználói projektek vagy maga a Qt macOS-ra való építése most már legalább a 3.21.1-es CMake verziót igényli.

  • A QMessageBox::setCheckBox() most már tiszteletben tartva van, amikor natív üzenetpaneleket használnak.

  • A QFileDialog most már nem vált ki engedélykéréseket feleslegesen.

Mobil platformok

Android

  • Hozzáadtak FileProvider támogatást a QDesktopServices::openUrl() használatakor.

  • Alapértelmezés szerint most már AndroidX-t használnak (a FileProvider függősége).

  • Bevezették a QTP0002 CMake irányelvet az android-specifikus céltulajdonságok számára.

  • Frissítve lett a támogatott példák listája Androidon.

  • Android 13 a maximálisan támogatott verzió.

  • A Gradle-t frissítették a 8.3.0-s verzióra.

  • A QFileDialog most már minden megadott névfilt alkalmaz, nem csak a kiválasztottat.

  • Az Android cél SDK szintje 33-ra lett frissítve, hogy megfeleljen a 2023-as Play Store követelményeknek.

iOS

  • Támogatást adtak a QWindow::setMask() használatához a renderelés és a bemenet maszkolásához.

  • Támogatást adtak a külföldi ablakokhoz, a UIView-k beágyazásához a QWindows-be.

Beágyazott platformok

Boot to Qt

  • Támogatás került hozzá a Yocto 4.2 (mickledore) verziójához.

  • Frissítették a céleszköz támogatási szintjeit a következő újonnan támogatott lapokkal:

    • Tier 1 támogatás az NXP i.MX 93 laphoz.

    • Tier 1 támogatás a Jetson AGX Xavier laphoz.

    • Tier 3 támogatás az NXP i.MX 8QuadXPlus laphoz.

    • Tier 3 támogatás a Toradex Apalis iMX8 laphoz.

  • A Toradex és az ST céleszközök most már a legújabb Yocto LTS verziót (kirkstone) használják.

Ezenkívül, néhány további változást is bevezettek:

  • A QOpenGLShaderProgram mostantól lehetőséget nyújt arra, hogy manuálisan adjuk meg a resource inicializációs függvényeket az OpenGL shader objektumainak. Ezt a setResourceInitializerFunction() metódussal tehetjük meg.

  • A QPainter most már támogatja az OpenGL 4.5-ös verzióját, ami lehetővé teszi a modern OpenGL funkcionalitások kihasználását.

  • Az OpenGL ES 3.0 támogatás mostantól kiterjed a QQuickRenderControl és a QOpenGLFramebufferObject alatt is, ami lehetővé teszi a modernebb mobil hardverek kihasználását.

  • A Qt Quick Window mostantól lehetőséget nyújt a Vulkan verzió lekérdezésére a VulkanInstance tulajdonság segítségével.

  • A QPainter most már kezeli az OES_EGL_image_external kiterjesztést, ami hasznos lehet az OpenGL/OpenGL ES és a Vulkan közötti textúra megosztás során.

  • A QOpenGLContext mostantól támogatja a Vulkan API-val való együttműködést, és lehetővé teszi Vulkan renderelési célpontok létrehozását az createTextureFromId() metódus segítségével.

  • A QQuickRenderControl mostantól támogatja a Vulkan verzió kiválasztását a VulkanVersion tulajdonság segítségével.

  • A QSGTexture most már lehetőséget nyújt a Vulkan textúra használatára a updateFromVulkanTexture() metódus segítségével.

  • Az OpenGL ES 3.1 támogatás mostantól be van kapcsolva az Apple macOS platformján is.

  • Az OpenGL ES 3.2 támogatás mostantól be van kapcsolva az Android platformján is.

  • Az OpenGL ES 3.2 támogatás mostantól elérhető a Wayland platformján is.

  • A Mesa driver mostantól támogatja az OpenGL ES 3.2-t, így lehetővé teszi a legújabb OpenGL ES szabványok kihasználását a Linux platformon.

  • Az OpenGL 4.6 támogatás mostantól elérhető a Windows platformon is.

  • A GLEW (OpenGL Extension Wrangler Library) frissítve lett a legújabb verzióra, amely új OpenGL funkciókat támogat.

  • Az EGL platform mostantól támogatja az EGL 1.5 verzióját.

  • Az Android platformon mostantól használható az OpenGL ES 3.2.

  • Az Android platformon mostantól támogatja a Vulkan API-t a Qt Quick alkalmazásokban.

  • Az Android platformon mostantól támogatja a Vulkan API-t a Qt 3D alkalmazásokban is.

  • Az Android platformon mostantól használható a Vulkan függvénykönyvtárak több példánya.

Ezek az újdonságok és változások teszik a Qt 6.6-ot egy még erősebb és sokoldalúbb fejlesztői platformmá, amely lehetővé teszi a fejlesztők számára, hogy a legújabb grafikai és hardveres lehetőségeket használják ki alkalmazásaik készítése során.