Wydanie frameworka Qt 5.14 i środowiska programistycznego Qt Creator 4.11.0

Po sześciu miesiącach rozwoju przygotowany wydanie wieloplatformowego frameworka Qt 5.14. Kod źródłowy komponentów Qt jest objęty licencją LGPLv3 i GPLv2, narzędzia programistyczne Qt, takie jak Qt Creator i qmake, a niektóre moduły są objęte licencją GPLv3. Wydanie Qt 5.14 zapoczątkowało przygotowania gałęzi Qt 6, w której spodziewany istotne zmiany architektoniczne. Qt 6 zaplanowano na koniec przyszłego roku, a aby ułatwić przejście do nowej gałęzi, zdecydowano o uwzględnieniu wstępnych wdrożeń niektórych innowacji w wydaniach Qt 5.14 i Qt 5.15 LTS.

Głównym innowacje:

  • Qt Quick rozpoczął prace nad udostępnieniem graficznego API niezależnego od API 3D systemu operacyjnego. W Qt 5.14 zaproponowane wstępna implementacja nowego silnika renderującego sceny z wykorzystaniem nowej warstwy RHI (Rendering Hardware Interface), aby umożliwić aplikacjom Qt Quick działanie nie tylko na OpenGL, jak miało to miejsce do tej pory, ale także z wykorzystaniem Vulkan, Metal i Direct 3D 11. Nowy silnik jest obecnie proponowany w formie opcji przygotowania aplikacji do przejścia na Qt 6, w którym RHI będzie domyślnie wykorzystywane do wyprowadzania grafiki.
  • Zaimplementowano moduł Qt Quick Timeline, ułatwiający animację właściwości za pomocą osi czasu i klatek kluczowych. Moduł wywodzi się ze środowiska programistycznego Qt Design Studio, które udostępnia edytor oparty na osi czasu do tworzenia animacji bez pisania kodu.
  • Dodano moduł eksperymentalny Qt Szybkie 3D, który zapewnia ujednolicone API do tworzenia interfejsów użytkownika w oparciu o Qt Quick, które łączą elementy grafiki 2D i 3D. Nowe API umożliwia wykorzystanie QML do definiowania elementów interfejsu 3D bez użycia formatu UIP. Moduł rozwiązuje problemy takie jak duży narzut przy integracji QML z treścią z Qt 3D lub 3D Studio oraz zapewnia możliwość synchronizacji animacji i transformacji na poziomie klatki pomiędzy 2D i 3D. W Qt Quick 3D można używać jednego środowiska wykonawczego (Qt Quick), jednego układu scen i jednego środowiska animacji dla 2D i 3D, a także używać Qt Design Studio do tworzenia interfejsu wizualnego.
  • Dodano WheelHandler, moduł obsługi zdarzeń kółka myszy, a także zdarzeń dla kółka emulowanego przez touchpad.
  • Trwają prace nad poprawą wydajności na ekranach o dużej gęstości pikseli. W tym możliwość określenia ułamkowych współczynników skalowania.
  • Dodano możliwość dodawania przestrzeni barwnych do obrazów, co pozwala uzyskać prawidłowe odwzorowanie kolorów podczas wyświetlania obrazów na skalibrowanych monitorach.
  • Dodano przestrzeń nazw QColorConstants, która w czasie kompilacji umożliwia generowanie instancji klasy QColor z predefiniowaną paletą.
  • Do komponentów Qt Widgets i Qt Quick dodano obsługę odczytu i zapisu Markdown do tworzenia edytorów tekstu.
  • QCalendar API implementuje możliwość pracy z kalendarzami innymi niż gregoriański.
  • W przypadku systemu Android dodano obsługę zestawów obejmujących wiele interfejsów ABI, co umożliwia jednoczesne kompilowanie aplikacji dla różnych architektur. Dodano także obsługę formatu pakietu AAB, umożliwiając dostarczanie aplikacji dla wszystkich obsługiwanych architektur w jednym archiwum.
  • Przeprowadzone optymalizacja wydajności modułu Qt 3D, w tym unowocześniona praca z wątkami, obiektami bufora ramki i systemem powiadomień. Dzięki temu udało się zmniejszyć obciążenie procesora podczas rysowania ramki i zwiększyć efektywność synchronizacji pomiędzy działającymi wątkami.
  • Do modułu Qt Network dodano API służące do konfiguracji parametrów HTTP/2 i monitorowania połączenia sieciowego.
  • Silnik sieciowy Qt WebEngine został zaktualizowany do Chromium 77 i rozszerzony o nowe API do zarządzania cyklem życia obiektu QWebEnginePage.
  • Licencja na komponenty Qt Wayland Compositor, Qt Application Manager i Qt PDF zmieniony z LGPLv3 na GPLv3, tj. Łączenie z nowymi wersjami tych komponentów wymaga teraz otwarcia kodu źródłowego programów w ramach licencji zgodnych z GPLv3 lub zakupu licencji komercyjnej (LGPLv3 umożliwia łączenie z zastrzeżonym kodem).

Jednocześnie uformowany wydanie zintegrowanego środowiska programistycznego Qt Creator 4.11.0, przeznaczony do tworzenia aplikacji wieloplatformowych z wykorzystaniem biblioteki Qt. Wspiera zarówno tworzenie klasycznych programów w języku C++, jak i wykorzystanie języka QML, w którym JavaScript służy do definiowania skryptów, a strukturę i parametry elementów interfejsu określają bloki przypominające CSS.

Nowa wersja Qt Creator dodaje eksperymentalne wsparcie dla tworzenia aplikacji dla mikrokontrolerów i kompilacji w WebAssembly przy użyciu modułów.Qt dla MCU"A"Qt dla zestawu WebAssembly„. Dla systemów z
CMake 3.14 i nowsze wersje używają nowego do konfigurowania i analizowania projektów API pliku (/.cmake/api/). Dodano obsługę edytora kodu ekspansja Protokół Language Server do podkreślania semantyki, a także uproszczona konfiguracja Language Server dla języka Python. Do interfejsu dodano opcję zmiany stylu oznaczenia końca linii. Do Qt Quick Designer dodano możliwość edycji powiązań QML.

Źródło: opennet.ru

Dodaj komentarz