انتشار چارچوب Qt 5.13

پس از شش ماه توسعه آماده شده انتشار یک چارچوب چند پلتفرمی Qt 5.13. کد منبع برای اجزای Qt تحت مجوز LGPLv3 و GPLv2، ابزارهای توسعه دهنده Qt مانند Qt Creator و qmake، و برخی از ماژول ها تحت مجوز GPLv3 هستند.

اصلی نوآوری ها:

  • پشتیبانی کامل برای ماژول "Qt for WebAssembly" (قبلاً آزمایشی) ارائه شده است، که به شما امکان می دهد برنامه های گرافیکی مبتنی بر Qt را در قالب ماژول های WebAssembly که می توانند مستقیماً در یک مرورگر وب اجرا شوند، کامپایل کنید. Emscripten برای کامپایل استفاده می شود. OpenGL به WebGL ترجمه می شود.
  • قابلیت‌های ماژول Qt GUI گسترش یافته است که کلاس‌های مربوط به ادغام با سیستم‌های پنجره، پردازش رویداد، ادغام با OpenGL و OpenGL ES، گرافیک دوبعدی، کار با تصاویر، فونت‌ها و متن را تعمیم می‌دهد. نسخه جدید یک API جدید اضافه می کند
    QImage::convertTo برای تبدیل فرمت های تصویر. روش‌های جدید clear، rezerv و ظرفیت به کلاس QPainterPath اضافه شده است.

  • ماژول Qt QML که ابزارهایی را برای توسعه یک رابط با استفاده از زبان QML فراهم می کند، پشتیبانی از انواع برشماری تعریف شده در کد C++ را بهبود بخشیده است. پردازش بهینه مقادیر "تهی" در مرحله کامپایل. قابلیت تولید جداول تابع در سیستم‌های ویندوز 64 بیتی را اضافه کرد که به شما امکان می‌دهد پشته را برای توابع کامپایل شده JIT باز کنید.
  • در Qt Quick، شی TableView توانایی پنهان کردن ستون‌ها و ردیف‌های جدول را اضافه کرده است.
  • نوع اضافه شده به Qt Quick Controls 2 SplitView برای قرار دادن عناصر به صورت افقی یا عمودی، نمایش یک جداکننده متحرک بین هر عنصر. یک ویژگی برای آیکون ها اضافه شده است که به شما امکان می دهد حافظه پنهان آنها را کنترل کنید.
  • موتور وب Qt WebEngine به Chromium 73 به روز شده و با پشتیبانی از نمایشگر PDF داخلی که به عنوان یک افزونه داخلی طراحی شده است، گسترش یافته است. نسخه جدید همچنین ذخیره‌سازی گواهی مشتری محلی و پشتیبانی از گواهی‌های QML را اضافه می‌کند. اضافه شدن Web Notifications API. پشتیبانی برای تعریف رهگیرهای درخواست URL اجرا شده است.
  • ماژول شبکه Qt برای سوکت های SSL پشتیبانی از کانال های ایمن و امکان بررسی وضعیت گواهی ها را با استفاده از OCSP (پروتکل وضعیت گواهی آنلاین) اضافه کرده است. برای پشتیبانی از SSL در لینوکس و اندروید، شاخه جدیدی از کتابخانه OpenSSL 1.1 استفاده می شود.
  • در ماژول چند رسانه ای Qt برای نوع QML VideoOutput، پشتیبانی از پخش مداوم اضافه شده است (بدون مکث بین محتویات مختلف، که توسط ویژگی flushMode کنترل می شود). برای ویندوز و macOS، قابلیت استفاده از فریم ورک GStreamer اضافه شده است. اضافه شدن پشتیبانی از نقش های صوتی برای اندروید.
  • ماژول Qt KNX با پشتیبانی از استانداردی به همین نام برای کنترل اتوماسیون خانگی به روز شده است. یک API برای ایجاد اتصالات کلاینت ایمن با سرور KNXnet اضافه شده است که می تواند برای ارسال ایمن پیام به گذرگاه KNX و کنترل دستگاه های دارای KNX استفاده شود.
  • پرچم توسعه آزمایشی از C++ API ماژول Qt OPC UA حذف شده است که از استاندارد ارتباط صنعتی OPC/UA پشتیبانی می‌کند. API آزمایشی برای QML اضافه شد.
  • یک ماژول آزمایشی جدید Qt CoAP Constrained Application Protocol با اجرای بخش کلاینت پروتکل M2M که برای ایجاد شبکه های دستگاه های اینترنت اشیا استفاده می شود، اضافه شده است. پشتیبانی از DTLS (Datagram TLS) از طریق UDP.
  • اصلاحات و بهبودهایی در مجموعه ماژول های "Qt for Python" برای ایجاد برنامه های گرافیکی در پایتون با استفاده از Qt5 انجام شده است (توسعه دهندگان پایتون به اکثر API های Qt C++ دسترسی دارند). Qt برای Python مبتنی بر ماژول PySide2 است و به توسعه خود ادامه می دهد (در واقع اولین نسخه PySide با پشتیبانی از Qt 5 با نام جدیدی ارائه شده است).
  • ماژول آزمایشی جدید اضافه شد Qt Lottie، که یک API پیشرفته QML ارائه می دهد که به شما امکان می دهد گرافیک ها و انیمیشن های صادر شده در فرمت JSON را با استفاده از افزونه Bodymovin برای Adobe After Effects رندر کنید. به لطف QtLottie، یک طراح می‌تواند جلوه‌های انیمیشن را در یک برنامه کاربردی راحت آماده کند و یک توسعه‌دهنده می‌تواند مستقیماً فایل‌های صادر شده را به رابط برنامه در QtQuick متصل کند. QtLottie شامل یک موتور میکرو داخلی برای اجرای انیمیشن، برش، لایه بندی و جلوه های دیگر است. موتور از طریق عنصر LottieAnimation QML قابل دسترسی است، که می تواند از کد QML به همان روشی که سایر عناصر QtQuick کنترل می شود.
  • Qt Wayland Compositor، یک سیستم رندر چند رشته ای برای دستگاه های تعبیه شده بر اساس پروتکل Wayland، از پروتکل های linux-dmabuf-unstable-v1 و wp_viewporter پشتیبانی می کند. پشتیبانی از پروتکل fullscreen-shell-unstable-v1 به اجزای پلتفرم برای Wayland اضافه شده است.
  • در ماژول پشتیبانی از پلتفرم اندروید، قابلیت استفاده از دیالوگ های بومی برای کار با فایل ها اضافه شده است. الزامات حداقل نسخه پلتفرم به Android 5.0 (سطح API 21) افزایش یافته است.
  • Qt 3D پشتیبانی از واردات و صادرات رندرهای بافت OpenGL را اضافه کرده است. پشتیبانی اولیه برای وارد کردن صحنه‌های glTF 2.0 اجرا شد.
  • ماژول‌های Qt Script منسوخ شده‌اند و در نسخه‌های بعدی حذف خواهند شد.
    Qt Quick Controls 1 و Qt XmlPatterns. ماژول Qt Canvas 3D حذف شده است.

منبع: opennet.ru

اضافه کردن نظر