Qt 6.7 хүрээ болон Qt Creator 13 хөгжүүлэлтийн орчныг гаргах

Qt компани Qt 6.7 хүрээний хувилбарыг нийтэлсэн бөгөөд Qt 6 салбарын үйл ажиллагааг тогтворжуулах, нэмэгдүүлэх ажлыг үргэлжлүүлж байна. Qt 6.7 нь Windows 10+, macOS 12+, Linux (Ubuntu 22.04, openSUSE) платформуудад дэмжлэг үзүүлдэг. 15.5, SUSE 15 SP5, RHEL 8.8 /9.2, Debian 11.6), iOS 16+, Android 8+ (API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS болон QNX. Qt бүрэлдэхүүн хэсгүүдийн эх кодыг LGPLv3 болон GPLv2 лицензийн дагуу өгсөн болно.

Qt 6.7 дахь томоохон өөрчлөлтүүд:

  • C++ 20 стандартын элементүүдийг ашигладаг кодыг ашиглахад зориулсан сайжруулсан дэмжлэг. C++ 17-д нийцэх std::*_захиалгын төрлүүдийг хэрэгжүүлсэн Qt::{хүчтэй, сул, хэсэгчилсэн}_захиалгын ангиуд, мөн эмхэтгэгчид эмхэтгэх үед "" гурван талын харьцуулах оператор болж өргөждөг макронуудыг нэмсэн. C++ 20-г дэмждэг (хэрэв хөрвүүлэгч нь зөвхөн C++ 17-г дэмждэг бол макронууд ердийн операторууд руу буцдаг).

    std::span ангиллын загварыг C++17-тэй системүүдийн хувьд QSpan ангиар сольсон объектуудын залгаа дарааллыг илэрхийлэх боломжтой. Төрөл бүрийн Qt API-д std::chrono номын сангийн дэмжлэгийг хэрэгжүүлэх ажлыг үргэлжлүүлэв. Жишээлбэл, Qt Network API-ийн завсарлагыг std::chrono төрлөөр тайлбарлаж байгаа бөгөөд 5 секундыг заах "5s" гэх мэт үг хэллэг хэлбэрээр зааж өгсөн болно.

  • Төрөл бүрийн график бүтээх, хурдацтай өөрчлөгдөж буй өгөгдлийн томоохон цуглуулгуудыг дүрслэн харуулах зориулалттай Qt графикийн туршилтын модулийг хөгжүүлэх ажил үргэлжилсээр байна. Модуль нь OpenGL дээр суурилсан хуучин Qt DataVisualization модуль болон Qt Charts модулийг бүх нийтээр солих байдлаар бүтээгдэж байна. Шинэ модуль нь Qt Quick 3D болон төрөл бүрийн 3D API (OpenGL, Vulkan, Metal болон Direct 3D) дэмждэг RHI (Rendering Hardware Interface) дүрслэх хөдөлгүүрийг ашигладаг. Шинэ хувилбар нь 3D дүрслэлээс гадна хоёр хэмжээст бялуу болон шугаман график, мөн сарнисан графикийг дэмждэг. Qt Quick-д байгаа хөдөлгөөнт дүрс, эффектүүдтэй нэгтгэсэн. Сэдвийн дэмжлэг нэмсэн. Санах ой хуваарилах үйлдлүүдийн тоог багасгахын тулд архитектурыг шинэчилсэн.
    Qt 6.7 хүрээ болон Qt Creator 13 хөгжүүлэлтийн орчныг гаргах
  • HTTP-д суурилсан API болон REST (Representational State Transfer) архитектурыг ашигладаг клиент програмуудыг хөгжүүлэхэд зориулж QHttpHeaders, QNetworkRequestFactory, QRestAccessManager болон QRestReply шинэ ангиуд нэмэгдсэн.
  • Qt GRPC модулийн чадавхийг өргөтгөж, gRPC үйлчилгээнд нэвтрэх боломжийг олгосон. Qt gRPC нь утгууд өөрчлөгдөх үед мессежийг автоматаар солилцох боломжийг олгодог үйлчлүүлэгчийн, серверийн болон хоёр чиглэлтэй урсгал дуудлагын шинэ ангиудыг нэмсэн. Сонгосон gRPC мессежүүдэд буцааж дуудлагын зохицуулагчийг хавсаргахад зориулсан Interceptor API-г санал болгосон бөгөөд үүнийг жишээ нь бүртгэл хөтлөх эсвэл кэш хийх ажлыг зохион байгуулахад ашиглаж болно.
  • Protocol Buffer протоколыг ашиглан Qt ангиудыг цуваа болгоход зориулагдсан Qt Protobuf модуль нь JSON формат руу эсвэл JSON форматаас цуваа болгох боломжийг нэмсэн.
  • Qt SVG вектор график модуль нь SVG 1.1 ба 2.0 элементүүдийн дэмжлэгийг нэмсэн бөгөөд эдгээрийг практикт SVG зурагт ихэвчлэн ашигладаг ( , , , Тэгээд ), энэ нь ихэнх SVG файлуудыг харуулах боломжийг олгодог. SVG 2.0-д бүрэн дэмжлэг хэрэгтэй байгаа хүмүүст Qt WebEngine модулийг ашиглахыг санал болгож байна. Вектор графикийг Qt Quick үзэгдэлийн график руу шууд импортлох зорилгоор SVG-г QML болгон хөрвүүлэх svgtokml хэрэгслийг нэмсэн. Fragment shader ашиглан муруйг өндөр чанартай зурахын тулд Qt Quick Shapes модулийг ашиглах чадвар тогтворжсон.
  • Глифийн зузаан, өргөн болон бусад хэв маягийн шинж чанарууд нь дур зоргоороо өөрчлөгдөж болох хувьсах фонтуудын дэмжлэгийг нэмсэн. Дүрс сангуудын дэмжлэгийг нэмсэн. QIcon::fromTheme дуудлагыг ашиглах үед дүрсний номын сангийн дүрсний нэрийг тэмдэгттэй тааруулах боломжтой.
  • Одоогийн платформын уугуул цонхыг Qt Quick үзэгдэлд оруулах боломжтой бөгөөд энэ нь платформоос өгсөн интерфейсийн элементүүдийг Qt Quick дээр суурилсан интерфейс дээр ашиглах боломжийг олгодог. Жишээлбэл, та AppKit MapView эсвэл Windows Media тоглуулагчийг суулгаж болно.
    Qt 6.7 хүрээ болон Qt Creator 13 хөгжүүлэлтийн орчныг гаргах
  • Qt (Vulkan, OpenGL, Direct3D, Metal) дээр дэмжигдсэн дурын график API ашиглан Qt Quick эсвэл Qt Widgets дээр суурилсан програмуудад рэндэрлэх код нэмэх дэмжлэг нэмэгдсэн. Нэмэлтийг QRhiQuickItem болон QRhiWidget ангиудыг ашиглан хийдэг.
  • macOS 14, iOS 17, Windows 11 23H2, Android 14, RHEL 9.2, openSUSE 15.5, SUSE Linux Enterprise Server 15 платформуудад бүрэн дэмжлэг үзүүлж байна. LLVM дээр суурилсан MinGW хэрэгслийг ашиглан эмхэтгэсэн Windows-д зориулсан угсралтуудыг нэмсэн. ARM архитектурт (Windows болон Linux-д зориулсан), VxWorks 7 платформ болон QNX 7.1-д зориулсан урьдчилан харах хувилбаруудыг нэмсэн.
  • Boot2Qt стекийг шинэчилсэн бөгөөд үүнийг Qt болон QML дээр суурилсан орчинтой ачаалах боломжтой хөдөлгөөнт системийг бий болгоход ашиглаж болно. Boot2Qt дахь системийн орчинг Yocto 4.3 платформ болгон шинэчилсэн.
  • Шинэ жишээ програмууд нэмэгдсэн. Lightning Viewer-ийн жишээ нь Qt Location болон Qt Quick Controls ашиглан аадар борооны мэдээллийг газрын зураг дээр дүрслэн харуулах. OpenStreetMap-ын мэдээлэлд үндэслэн 3D барилгын газрын зураг үүсгэхийн тулд Qt Quick 3D, Qt Positioning болон Qt Network ашиглан OSM Buildings-ийн шинэ үзүүлэн. Виртуал туслах жишээ нь 3D хөдөлгөөнт дүрстэй ажиллах чадварыг харуулдаг. Эзлэхүүн дүрслэх жишээ нь хэмжээст туяаг хянахын тулд Qt Quick 3D дээр 3D бүтцийг хэрхэн ашиглахыг харуулж байна. Хөрөнгийн зах зээлийн мэдээллийг харуулахын тулд Qt графикийг ашиглан StocQt жишээг бүрэн шинэчилсэн.
    Qt 6.7 хүрээ болон Qt Creator 13 хөгжүүлэлтийн орчныг гаргах

Нэмж дурдахад бид Qt номын санг ашиглан платформ хоорондын програмуудыг бий болгоход зориулагдсан Qt Creator 13.0-ийн нэгдсэн хөгжүүлэлтийн орчныг хэвлүүлснийг тэмдэглэж болно. Энэ нь C++ хэл дээрх сонгодог программуудыг хөгжүүлэх, скриптийг тодорхойлоход JavaScript ашигладаг QML хэлийг ашиглахыг дэмждэг бөгөөд интерфейсийн элементүүдийн бүтэц, параметрүүдийг CSS-тэй төстэй блокоор тодорхойлдог. Линукс, Windows болон MacOS-д зориулсан бэлэн угсралтуудыг үүсгэсэн.

Шинэ хувилбарт:

  • Линукс бүхий ARM системд зориулсан офлайн болон онлайн суулгагчийг нэмсэн.
  • Qt Creator-д тавтай морилно уу интерфэйс нь харанхуй болон цайвар сэдвүүдийг дэмжих зорилгоор шинэчлэгдсэн.
    Qt 6.7 хүрээ болон Qt Creator 13 хөгжүүлэлтийн орчныг гаргах
  • Дибаг хийх горимд ашигладаг самбаруудыг зөөх, виджет үүсгэхэд зориулсан сайжруулсан интерфейс (Widget Designer). Босоо хавтангийн түр зуурын нуралтын дэмжлэгийг нэмсэн. Самбарыг эхлээд буулгахгүйгээр толгойгоор нь чөлөөтэй хөдөлгөх боломжтой.
    Qt 6.7 хүрээ болон Qt Creator 13 хөгжүүлэлтийн орчныг гаргах
  • Qt Application Manager ашигладаг төхөөрөмжүүдэд зориулсан програмуудыг үүсгэх, байрлуулах, ажиллуулах, дибаг хийх дэмжлэгийг нэмсэн (Qt 6 болон CMake дээр суурилсан програмуудад).
  • iOS 17-д хэсэгчилсэн дэмжлэг нэмсэн.
  • Төслийн код дахь "бүтээх" дэд санг ашиглахын тулд анхдагч бүтээх лавлахыг өөрчилсөн. Та бүтээх лавлахыг "Тохиргоо > Барих & ажиллуулах > Өгөгдмөл бүтээх шинж чанарууд > Өгөгдмөл бүтээх лавлах" тохиргоог ашиглан өөрчилж болно.
  • Төслийн горимд "Алга болсон зорилтууд" хэсгийг нэмсэн бөгөөд энэ нь ашиглах боломжгүй болсон иж бүрдэлүүдийг (өөр өөр бүтээх хэрэгслүүд болон Qt-ийн хувилбаруудын холбоос) харуулж, орлуулах, бүтээх, байршуулах, ашиглах үед ашиглах боломжийг олгодог. одоо байгаа өөр нэг багцыг ажиллуулж байна.
  • Python хэл дээр төслүүдэд зориулсан иж бүрдэл үүсгэх боломжтой (орчуулагчийн өөр хувилбарыг сонгох).
  • YAML, JSON болон Bash-д зориулсан LSP (Language Server Protocol) серверүүдийг ашиглах чадварыг нэмсэн.
  • Код засварлагч нь QML бүрэлдэхүүн хэсгүүдээс холбогдох C++ код руу шилжихэд дэмжлэг үзүүлдэг.
  • ClangFormat тохиргоог дахин зохион байгууллаа. Өөрийнхөө тохиргоог өөрчлөхийн тулд синтакс шалгадаг текст засварлагчийг өгсөн.
    Qt 6.7 хүрээ болон Qt Creator 13 хөгжүүлэлтийн орчныг гаргах

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх