Qt 5.15 framework-udgivelse

Introduceret frigivelse af en cross-platform framework Qt 5.15. Kildekoden til Qt-komponenter leveres under LGPLv3- og GPLv2-licenserne. En ny afdeling af Qt 6 udkommer i december, hvori forventet væsentlige arkitektoniske ændringer. For at udjævne den fremtidige overgang til Qt 6-grenen indeholder Qt 5.15 forhåndsvisningsimplementeringer af nogle nye funktioner og tilføjede advarsler om den forestående udfasning af funktionalitet, der er planlagt til fjernelse i Qt 6.

Qt 5.15 er klassificeret som en Long Term Support (LTS) udgivelse. Samtidig opdaterer fællesskabet til afdeling 5.15 vil blive offentliggjort kun indtil næste væsentlige spørgsmål er dannet, dvs. omkring seks måneder. Den udvidede LTS-cyklus, som involverer generering af opdateringer over en treårig periode, vil være begrænset til brugere med en kommerciel licens ($5508 pr. år pr. udvikler for almindelige virksomheder og $499 pr. år for nystartede virksomheder og små virksomheder). Qt Company også taget i betragtning muligheden for at skifte til Qt-distributionsmodellen, hvor alle udgivelser i de første 12 måneder kun vil blive distribueret til brugere af kommercielle licenser. Men indtil videre er denne idé ikke gået ud over diskussionen.

The main innovationer i Qt 5.15:

  • Arbejdet fortsatte med at skabe et abstrakt grafik-API, der ikke afhænger af operativsystemets 3D API. En nøglekomponent i den nye Qt-grafikstak er scenegengivelsesmotoren, som bruger RHI-laget (Rendering Hardware Interface) til at drive Qt Quick-applikationer ikke kun med OpenGL, men også oven på Vulkan, Metal og Direct 3D API'erne. I 5.15 tilbydes den nye grafikstak i form af en mulighed, der har status som "Technology Preview".
  • Fuld modulsupport ydes Qt Quick 3D, hvorfra tegnet på eksperimentel udvikling er fjernet. Qt Quick 3D giver en samlet API til at skabe brugergrænseflader baseret på Qt Quick, der kombinerer 2D- og 3D-grafikelementer. Den nye API giver dig mulighed for at bruge QML til at definere 3D-grænsefladeelementer uden at bruge UIP-formatet. I Qt Quick 3D kan du bruge én runtime (Qt Quick), ét scenelayout og én animationsramme til 2D og 3D og bruge Qt Design Studio til udvikling af visuel grænseflade. Modulet løser problemer såsom store overhead ved integration af QML med indhold fra Qt 3D eller 3D Studio, og giver mulighed for at synkronisere animationer og transformationer på frame niveau mellem 2D og 3D.

    Nye funktioner tilføjet til Qt Quick 3D omfatter understøttelse af efterbehandlingseffekter, en C++ API til geometrimanipulation, en rotations-API baseret på QQuaternion-klassen og understøttelse af punktlys. For at evaluere de forskellige funktioner i Qt Quick 3D forberedt en speciel demoapplikation, der viser, hvordan du kan ændre typer og kilder til belysning, bruge komplekse modeller, manipulere teksturer, materialer og anti-aliasing. Samtidigt foreslog emne miljø at designe brugergrænsefladen til Qt Design Studio 1.5, som giver fuld support til Qt Quick 3D.


  • I Qt QML var arbejdet koncentreret som forberedelse til Qt 6. Muligheden for at bruge egenskaber med attributten 'påkrævet' i komponenter, hvis installation er obligatorisk, er blevet implementeret. Qmllint-værktøjet har forbedret genereringen af ​​advarsler om mulige problemer i QML-kode. Tilføjet qmlformat-værktøjet, som gør det nemmere at formatere QML-kode i overensstemmelse med retningslinjerne for kodningsstil. Sikret kompatibilitet af QML med Qt-udgaven til mikrocontrollere.
  • I Qt Quick er der tilføjet understøttelse af farverum til billedelementet. Et nyt PathText-element er blevet tilføjet til Qt Quick Shapes.
    En cursorShape-egenskab er blevet tilføjet til markørbehandleren, hvorigennem du kan ændre formen på musemarkøren på skrivebordssystemer. Tilføjet et HeaderView-element for at gøre det nemmere at tilføje lodrette og vandrette overskrifter til TableView-baserede tabeller.

  • Client-side window decoration (CSD) support er blevet væsentligt forbedret, hvilket gør det muligt for en applikation at definere sine egne vinduesdekorationer og placere brugerdefineret indhold i vinduets titellinje.
  • Modul stabiliseret Qt Lottie, som giver en avanceret QML API, der giver dig mulighed for at gengive grafik og animationer eksporteret i JSON-format ved hjælp af Bodymovin-plugin til Adobe After Effects. Takket være QtLottie kan en designer forberede animationseffekter i en praktisk applikation, og en udvikler kan direkte forbinde eksporterede filer til applikationsgrænsefladen på QtQuick. QtLottie inkluderer en indbygget mikromotor til at udføre animation, beskæring, lagdeling og andre effekter. Motoren er tilgængelig gennem LottieAnimation QML-elementet, som kan styres fra QML-kode på samme måde som ethvert andet QtQuick-element.
  • Qt WebEngine-browsermotoren er blevet opdateret til kodebasen Chrom 80 (i gren 5.14 blev Chromium 77 brugt, den nuværende version er Chrom 83).
  • Qt 3D-modulet har forbedrede profilerings- og fejlfindingsværktøjer.
  • Qt Multimedia har tilføjet understøttelse af multi-surface rendering.
  • I Qt GUI er billedskalering og -transformation nu multi-threaded i mange tilfælde.
  • Qt Network har tilføjet understøttelse af brugerdefinerede timeouts og sessionsgenveje i TLS 1.3 (Session Ticket, giver dig mulighed for at genoptage en session uden at gemme tilstand på serversiden).
  • Aktiverede Qt Core, QRunnable og QThreadPool til at arbejde med std::funktion. Tilføjet en ny metode QFile::moveToTrash() til at flytte elementer til papirkurven, idet der tages hensyn til de forskellige platformes specifikationer.
  • In Qt til Android tilføjet Understøttelse af native dialoger til åbning og lagring af filer.

Kilde: opennet.ru

Tilføj en kommentar