Paglabas ng Qt 5.14 framework at Qt Creator 4.11.0 development environment

Pagkatapos ng anim na buwan ng pag-unlad nakahanda paglabas ng isang cross-platform na balangkas Qt 5.14. Ang source code para sa mga bahagi ng Qt ay lisensyado sa ilalim ng LGPLv3 at GPLv2, mga tool ng developer ng Qt gaya ng Qt Creator at qmake, at ang ilang module ay lisensyado sa ilalim ng GPLv3. Ang paglabas ng Qt 5.14 ay minarkahan ang simula ng paghahanda ng sangay ng Qt 6, kung saan inaasahan makabuluhang pagbabago sa arkitektura. Ang Qt 6 ay naka-iskedyul para sa katapusan ng susunod na taon, at upang maayos ang paglipat sa bagong sangay, ang mga paunang pagpapatupad ng ilang mga inobasyon ay napagpasyahan na isama sa Qt 5.14 at Qt 5.15 LTS na mga release.

Ang pangunahing mga inobasyon:

  • Sinimulan na ng Qt Quick ang pagbibigay ng graphics API na independiyente sa 3D API ng operating system. Sa Qt 5.14 iminungkahi paunang pagpapatupad ng isang bagong scene rendering engine gamit ang bagong layer ng RHI (Rendering Hardware Interface) upang paganahin ang mga Qt Quick application na tumakbo hindi lamang sa ibabaw ng OpenGL, gaya ng nangyari hanggang ngayon, ngunit gumagamit din ng Vulkan, Metal at Direct 3D 11. Ang bagong engine ay kasalukuyang iminungkahi sa anyo ng isang opsyon upang maghanda ng mga aplikasyon para sa paglipat sa Qt 6, kung saan ang RHI ay gagamitin para sa graphics output bilang default.
  • Naipatupad ang Qt Quick Timeline module, na ginagawang mas madaling i-animate ang mga property gamit ang timeline at mga keyframe. Ang module ay nagmula sa kapaligiran ng pag-unlad ng Qt Design Studio, na nagbibigay ng timeline-based na editor para sa paglikha ng mga animation nang walang pagsulat ng code.
  • Nagdagdag ng pang-eksperimentong module Qt Mabilis na 3D, na nagbibigay ng pinag-isang API para sa paglikha ng mga user interface batay sa Qt Quick na pinagsasama ang 2D at 3D na mga elemento ng graphics. Binibigyang-daan ka ng bagong API na gumamit ng QML upang tukuyin ang mga elemento ng 3D interface nang hindi gumagamit ng format na UIP. Nilulutas ng module ang mga problema tulad ng malaking overhead kapag isinasama ang QML sa nilalaman mula sa Qt 3D o 3D Studio, at nagbibigay ng kakayahang mag-synchronize ng mga animation at pagbabago sa antas ng frame sa pagitan ng 2D at 3D. Sa Qt Quick 3D, maaari kang gumamit ng isang runtime (Qt Quick), isang layout ng eksena at isang framework ng animation para sa 2D at 3D, at gumamit ng Qt Design Studio para sa pagbuo ng visual na interface.
  • Idinagdag ang WheelHandler, isang handler para sa mga kaganapan sa gulong ng mouse, pati na rin ang mga kaganapan para sa isang gulong na ginagaya ng isang touchpad.
  • Patuloy na pinapahusay ng trabaho ang performance sa mga screen na may mataas na pixel density. Kabilang ang kakayahang tukuyin ang fractional scaling factor.
  • Idinagdag ang kakayahang magdagdag ng mga puwang ng kulay para sa mga larawan, na nagbibigay-daan sa iyong makamit ang tamang pagpaparami ng kulay kapag nagpapakita ng mga larawan sa mga naka-calibrate na monitor.
  • Idinagdag ang QColorConstants namespace, na sa oras ng pag-compile ay nagbibigay-daan sa iyo na bumuo ng mga pagkakataon ng klase ng QColor na may paunang natukoy na palette.
  • Ang suporta para sa pagbabasa at pagsulat ng Markdown ay idinagdag sa Qt Widgets at Qt Quick na mga bahagi para sa paglikha ng mga text editor.
  • Ang QCalendar API ay nagpapatupad ng kakayahang magtrabaho sa mga kalendaryo maliban sa Gregorian.
  • Para sa Android, idinagdag ang suporta para sa mga pagtitipon na sumasaklaw sa maraming ABI, na nagbibigay-daan sa iyong mag-compile ng isang application para sa iba't ibang mga arkitektura nang sabay-sabay. Ang suporta para sa format ng pakete ng AAB ay idinagdag din, na nagpapahintulot sa mga application na maihatid para sa lahat ng mga sinusuportahang arkitektura sa isang archive.
  • Isinagawa pag-optimize ng pagganap ng Qt 3D module, kabilang ang modernized na trabaho sa mga thread, framebuffer object at ang notification system. Bilang resulta, posible na bawasan ang pag-load sa CPU kapag gumuhit ng isang frame at dagdagan ang kahusayan ng pag-synchronize sa pagitan ng mga tumatakbong thread.
  • Naidagdag ang mga API sa module ng Qt Network para sa pag-configure ng mga parameter ng HTTP/2 at pagsubaybay sa koneksyon sa network.
  • Ang Qt WebEngine web engine ay na-update sa Chromium 77 at pinalawak gamit ang isang bagong API para sa pamamahala sa life cycle ng QWebEnginePage object.
  • Lisensya para sa Qt Wayland Compositor, Qt Application Manager at mga bahagi ng Qt PDF nagbago mula LGPLv3 hanggang GPLv3, i.e. Ang pag-link sa mga bagong release ng mga bahaging ito ay nangangailangan na ngayon ng pagbubukas ng source code ng mga programa sa ilalim ng mga lisensyang tugma sa GPLv3 o pagbili ng komersyal na lisensya (pinapayagan ng LGPLv3 ang pag-link sa proprietary code).

Sabay-sabay nabuo pagpapalabas ng pinagsama-samang kapaligiran sa pag-unlad Qt Lumikha 4.11.0, na idinisenyo para sa paglikha ng mga cross-platform na application gamit ang Qt library. Sinusuportahan nito ang parehong pagbuo ng mga klasikong programa sa C++ at ang paggamit ng wikang QML, kung saan ginagamit ang JavaScript upang tukuyin ang mga script, at ang istraktura at mga parameter ng mga elemento ng interface ay tinukoy ng mga bloke na tulad ng CSS.

Ang bagong bersyon ng Qt Creator ay nagdaragdag ng pang-eksperimentong suporta para sa pagbuo ng mga application para sa mga microcontroller at pag-compile sa WebAssembly gamit ang mga module "Qt para sa mga MCU"At"Qt para sa WebAssembly". Para sa mga system na may
Gumagamit ang CMake 3.14 at mas bagong mga bersyon ng bago para sa pag-set up at pag-parse ng mga proyekto file API (/.cmake/api/). Nagdagdag ng suporta sa code editor pagpapalawak Language Server protocol para sa pag-highlight ng mga semantika, at pinasimple ring configuration ng Language Server para sa wikang Python. May idinagdag na opsyon sa interface upang baguhin ang istilo ng pagmamarka sa pagtatapos ng linya. Ang kakayahang mag-edit ng mga QML binding ay naidagdag sa Qt Quick Designer.

Pinagmulan: opennet.ru

Magdagdag ng komento