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

ارسال شده توسط انتشار یک چارچوب چند پلتفرمی Qt 5.15. کد منبع اجزای Qt تحت مجوزهای LGPLv3 و GPLv2 ارائه شده است. شعبه جدیدی از Qt 6 در ماه دسامبر منتشر خواهد شد که در آن انتظار می رود تغییرات معماری قابل توجه برای هموارسازی انتقال آینده به شاخه Qt 6، Qt 5.15 شامل اجرای پیش‌نمایش برخی از ویژگی‌های جدید و هشدارهای اضافه شده در مورد از بین رفتن قریب‌الوقوع عملکرد برنامه‌ریزی شده برای حذف در Qt 6 است.

Qt 5.15 به عنوان نسخه پشتیبانی طولانی مدت (LTS) طبقه بندی می شود. در همان زمان، برای انجمن به روز رسانی به شعبه 5.15 منتشر خواهد شد فقط تا زمانی که موضوع مهم بعدی شکل بگیرد، یعنی. حدود شش ماه چرخه توسعه یافته LTS که شامل ایجاد به روز رسانی در یک دوره سه ساله است، به کاربران دارای مجوز تجاری محدود می شود (5508 دلار در سال برای هر توسعه دهنده برای شرکت های معمولی و 499 دلار در سال برای استارت آپ ها و مشاغل کوچک). شرکت Qt نیز در نظر گرفته شده امکان تغییر به مدل توزیع Qt که در آن همه نسخه‌های 12 ماهه اول فقط برای کاربران مجوزهای تجاری توزیع می‌شوند. اما تاکنون این ایده از بحث فراتر نرفته است.

اصلی نوآوری در Qt 5.15:

  • کار بر روی ایجاد یک API گرافیکی انتزاعی که به API سه بعدی سیستم عامل بستگی ندارد ادامه یافت. یکی از اجزای کلیدی پشته گرافیکی جدید Qt، موتور رندر صحنه است که از لایه RHI (رابط سخت افزار رندر) برای تقویت برنامه های Qt Quick نه تنها با OpenGL، بلکه در بالای API های Vulkan، Metal و Direct 3D استفاده می کند. در نسخه 3، پشته گرافیکی جدید در قالب گزینه ای ارائه شده است که وضعیت "پیش نمایش فناوری" را دارد.
  • پشتیبانی کامل ماژول ارائه شده است Qt Quick 3D، که علامت توسعه تجربی از آن حذف شده است. Qt Quick 3D یک API یکپارچه برای ایجاد رابط های کاربری بر اساس Qt Quick فراهم می کند که عناصر گرافیکی دو بعدی و سه بعدی را ترکیب می کند. API جدید به شما امکان می دهد از QML برای تعریف عناصر رابط سه بعدی بدون استفاده از فرمت UIP استفاده کنید. در Qt Quick 2D می توانید از یک زمان اجرا (Qt Quick)، یک طرح صحنه و یک فریم ورک انیمیشن برای دو بعدی و سه بعدی استفاده کنید و از استودیوی طراحی Qt برای توسعه رابط بصری استفاده کنید. این ماژول مشکلاتی مانند سربار زیاد را هنگام ادغام QML با محتوای Qt 3D یا 3D Studio حل می کند و توانایی همگام سازی انیمیشن ها و تبدیل ها را در سطح فریم بین دو بعدی و سه بعدی فراهم می کند.

    ویژگی های جدید اضافه شده به Qt Quick 3D شامل پشتیبانی از افکت های پس از پردازش، C++ API برای دستکاری هندسه، API چرخشی بر اساس کلاس QQuaternion و پشتیبانی از چراغ های نقطه ای است. برای ارزیابی ویژگی های مختلف Qt Quick 3D آماده شده یک برنامه آزمایشی ویژه که نشان می دهد چگونه می توانید انواع و منابع نور را تغییر دهید، از مدل های پیچیده استفاده کنید، بافت ها، متریال ها و ضد آلیاسینگ را دستکاری کنید. همزمان پیشنهادی رها کردن محیط برای طراحی رابط کاربری Qt ​​Design Studio 1.5 که از Qt Quick 3D پشتیبانی کامل می کند.


  • در Qt QML کار بود متمرکز شده است در آماده سازی برای Qt 6. قابلیت استفاده از خصوصیات با ویژگی 'required' در کامپوننت هایی که نصب آنها اجباری است، پیاده سازی شده است. ابزار qmllint تولید هشدارها در مورد مشکلات احتمالی در کد QML را بهبود بخشیده است. ابزار qmlformat اضافه شده است که فرمت کد QML را مطابق با دستورالعمل‌های سبک کدنویسی آسان‌تر می‌کند. اطمینان از سازگاری QML با نسخه Qt برای میکروکنترلرها.
  • در Qt Quick پشتیبانی از فضاهای رنگی به عنصر Image اضافه شده است. یک عنصر PathText جدید به Qt Quick Shapes اضافه شده است.
    یک ویژگی cursorShape به کنترل کننده اشاره گر اضافه شده است که از طریق آن می توانید شکل مکان نما ماوس را در سیستم های دسکتاپ تغییر دهید. یک عنصر HeaderView اضافه کرد تا افزودن هدرهای عمودی و افقی به جداول مبتنی بر TableView آسانتر شود.

  • پشتیبانی از دکوراسیون پنجره سمت مشتری (CSD) به طور قابل توجهی بهبود یافته است و به یک برنامه اجازه می دهد تزئینات پنجره خود را تعریف کند و محتوای سفارشی را در نوار عنوان پنجره قرار دهد.
  • ماژول تثبیت شد Qt Lottie، که یک API پیشرفته QML ارائه می دهد که به شما امکان می دهد گرافیک ها و انیمیشن های صادر شده در فرمت JSON را با استفاده از افزونه Bodymovin برای Adobe After Effects رندر کنید. به لطف QtLottie، یک طراح می تواند جلوه های انیمیشن را در یک برنامه کاربردی راحت آماده کند و یک توسعه دهنده می تواند مستقیماً فایل های صادر شده را به رابط برنامه در QtQuick متصل کند. QtLottie شامل یک موتور میکرو داخلی برای اجرای انیمیشن، برش، لایه بندی و جلوه های دیگر است. موتور از طریق عنصر LottieAnimation QML قابل دسترسی است، که می توان آن را از طریق کد QML به همان روشی که هر عنصر دیگر QtQuick کنترل کرد.
  • موتور مرورگر Qt WebEngine به پایه کد به روز شده است Chromium 80 (در شاخه 5.14 Chromium 77 استفاده شد، نسخه فعلی است Chromium 83).
  • ماژول Qt 3D ابزارهای پروفایل و اشکال زدایی را بهبود بخشیده است.
  • Qt Multimedia پشتیبانی از رندر چند سطحی را اضافه کرده است.
  • در Qt GUI، عملیات مقیاس‌گذاری و تبدیل تصویر اکنون در بسیاری از موارد چند رشته‌ای هستند.
  • شبکه Qt پشتیبانی از وقفه های سفارشی و میانبرهای جلسه در TLS 1.3 (بلیت جلسه، به شما امکان می دهد یک جلسه را بدون ذخیره حالت در سمت سرور از سر بگیرید).
  • Qt Core، QRunnable و QThreadPool را برای کار با std::function فعال کرد. یک روش جدید QFile::moveToTrash() برای انتقال موارد به سطل زباله با در نظر گرفتن ویژگی های پلتفرم های مختلف اضافه شده است.
  • در Qt برای اندروید اضافه پشتیبانی از دیالوگ های بومی برای باز کردن و ذخیره فایل ها.

منبع: opennet.ru

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