Alpha weergawe van Qt 6.0 beskikbaar

Qt Maatskappy aangekondig ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ Π²Π΅Ρ‚ΠΊΠΈ Qt 6 Π½Π° ΡΡ‚Π°Π΄ΠΈΡŽ Π°Π»ΡŒΡ„Π°-тСстирования. Qt 6 Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ измСнСния, Π° для сборки трСбуСтся компилятор, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ стандарт C++17. Π Π΅Π»ΠΈΠ· beplan Π½Π° 1 дСкабря 2020 Π³ΠΎΠ΄Π°.

Sleutel kenmerke Qt 6:

  • Абстрагированный графичСский API, Π½Π΅ зависящий ΠΎΡ‚ 3D API ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎ графичСского стСка Qt являСтся Π΄Π²ΠΈΠΆΠΎΠΊ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° сцСн, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ прослойку RHI (Rendering Hardware Interface) для обСспСчСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Qt Quick Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с OpenGL, Π½ΠΎ ΠΈ ΠΏΠΎΠ²Π΅Ρ€Ρ… API Vulkan, Metal ΠΈ Direct 3D.
  • ΠœΠΎΠ΄ΡƒΠ»ΡŒ Qt Quick 3D с API для создания интСрфСйсов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° Π±Π°Π·Π΅ Qt Quick, ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‰ΠΈΡ… элСмСнты 2D ΠΈ 3D Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. Qt Quick 3D позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ QML для опрСдСлСния 3D-элСмСнтов интСрфСйсов Π±Π΅Π· задСйствования Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° UIP. Π’ Qt Quick 3D для 2D ΠΈ 3D ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ runtime (Qt Quick), ΠΎΠ΄ΠΈΠ½ ΠΌΠ°ΠΊΠ΅Ρ‚ сцСны ΠΈ ΠΎΠ΄ΠΈΠ½ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, Π° для Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ интСрфСйса ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Qt Design Studio. ΠœΠΎΠ΄ΡƒΠ»ΡŒ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠ°ΠΊ большиС Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы ΠΏΡ€ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ QML с ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ ΠΈΠ· Qt 3D ΠΈΠ»ΠΈ 3D Studio, ΠΈ прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ синхронизации Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ 2D ΠΈ 3D.
  • РСструктуризация ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ с Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ΠΌ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ составныС части ΠΈ сокращСниСм Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ спСциализированныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒΡΡ Π² Π²ΠΈΠ΄Π΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ, распространяСмых Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³-ΠΌΠ°Π³Π°Π·ΠΈΠ½ Qt Marketplace.
  • Beduidende modernisering van QML:
    • Sterk tikondersteuning.
    • VermoΓ« om QML saam te stel in C++ voorstelling en masjienkode.
    • Om volledige JavaScript-ondersteuning 'n opsie te maak (om 'n volledige JavaScript-enjin te gebruik, verg baie hulpbronne, wat die gebruik van QML op toerusting soos mikrobeheerders verhoed).
    • Weiering van weergawe in QML.
    • Eenwording van datastrukture gedupliseer in QObject en QML (sal geheueverbruik verminder en opstart bespoedig).
    • Wegbeweeg van run-time generering van datastrukture ten gunste van samestelling-tyd generering.
    • Versteek interne komponente deur die gebruik van private metodes en eienskappe.
    • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π½Π°Ρ интСграция с инструмСнтами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ диагностики ошибок Π²ΠΎ врСмя компиляции.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ инструмСнтов для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ связанных с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ рСсурсов Π½Π° этапС компиляции, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для прСобразования PNG-ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² сТатыС тСкстуры ΠΈΠ»ΠΈ для ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ ΡˆΠ΅ΠΉΠ΄Π΅Ρ€ΠΎΠ² ΠΈ мСшСй Π² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ оборудования.
  • ВстраиваниС ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° для Ρ‚Π΅ΠΌ оформлСния ΠΈ стилСй, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ внСшнСго Π²ΠΈΠ΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Π±Π°Π·Π΅ Qt Widgets ΠΈ Qt Quick, Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ.
  • Daar is besluit om CMake in plaas van QMake as die boustelsel te gebruik. Ondersteuning vir die bou van toepassings met QMake sal behoue ​​bly, maar Qt self sal met CMake gebou word. CMake is gekies omdat hierdie gereedskapstel wyd gebruik word onder C++-projekontwikkelaars en in baie geΓ―ntegreerde ontwikkelingsomgewings ondersteun word. Ontwikkeling van die Qbs-samestellingstelsel, wat beweer het dat dit 'n plaasvervanger vir QMake is, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° gemeenskap.
  • Oorgang na die C++17-standaard tydens ontwikkeling (voorheen is C++98 gebruik). Qt 6 beplan om ondersteuning vir baie moderne C++-kenmerke te implementeer, maar sonder om terugwaartse versoenbaarheid te verloor met kode gebaseer op verouderde standaarde.
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Π² ΠΊΠΎΠ΄Π΅ Π½Π° C++ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠΉ для QML ΠΈ Qt Quick. Π’ Ρ‚ΠΎΠΌ числС Π±ΡƒΠ΄Π΅Ρ‚ прСдставлСна новая систСма свойств для QObject ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… классов. Из QML Π² ядро Qt Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ Π΄Π²ΠΈΠΆΠΎΠΊ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с привязками (binding), Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти для Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΎΠ² ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΡ… доступными для всСх частСй Qt, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Qt Quick.
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… языков, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Python ΠΈ WebAssembly.
  • Bron: opennet.ru

Voeg 'n opmerking