شرکت Qt نسخه ای از چارچوب Qt 6.3 را منتشر کرده است که در آن کار برای تثبیت و افزایش عملکرد شعبه Qt 6 ادامه دارد. Qt 6.3 از پلتفرم های Windows 10، macOS 10.14+، Linux (Ubuntu 20.04، CentOS 8.2 پشتیبانی می کند. ، openSUSE 15.3، SUSE 15 SP2، iOS 13+، Android 6+ (API 23+)، webOS، INTEGRITY و QNX. کد منبع اجزای Qt تحت مجوزهای LGPLv3 و GPLv2 ارائه شده است.
تغییرات عمده در Qt 6.3:
- ماژول Qt QML یک پیادهسازی آزمایشی از کامپایلر qmltc (کامپایلر نوع QML) را ارائه میدهد که به شما امکان میدهد ساختارهای شی QML را در کلاسهای C++ کامپایل کنید. برای کاربران تجاری Qt 6.3 محصول Qt Quick Compiler آماده شده است که علاوه بر کامپایلر QML Type فوق الذکر شامل کامپایلر QML Script نیز می باشد که به شما امکان کامپایل توابع و عبارات QML را در کدهای ++C می دهد. خاطرنشان میشود که استفاده از کامپایلر Qt Quick Compiler این امکان را فراهم میکند که عملکرد برنامههای مبتنی بر QML را به برنامههای بومی نزدیکتر کند؛ بهویژه، هنگام کامپایل برنامههای افزودنی، در مقایسه با زمان راهاندازی و اجرا تقریباً 20 تا 35 درصد کاهش مییابد. برای استفاده از نسخه تفسیر شده
- ماژول "Qt Language Server" با پشتیبانی از پروتکل های Language Server و JsonRpc 2.0 پیاده سازی شده است.
- ماژول Qt Wayland Compositor یک سرور ترکیبی Qt Shell و یک API برای ایجاد پسوندهای پوسته سفارشی خود اضافه کرده است.
- Qt Quick Controls انواع CalendarModel و TreeView QML را با پیاده سازی رابط ها برای نمایش تقویم و داده ها در نمای درختی ادغام می کند.
- انواع QML MessageDialog و FolderDialog به ماژول Qt Quick Dialogs اضافه شده اند تا از کادرهای محاوره ای سیستم ارائه شده توسط پلتفرم برای نمایش پیام ها و پیمایش در میان فایل ها استفاده کنند.
- Qt Quick عملکرد و کارایی کار با متن را بهبود بخشیده است. به عنوان مثال، مشکلات مربوط به کاهش سرعت رندر و مصرف زیاد حافظه هنگام انتقال اسناد بسیار بزرگ به اجزای Text، TextEdit، TextArea و TextInput برطرف شده است.
- یک عنصر QML ReflectionProbe به ماژول Qt Quick 3D برای رندر بازتاب اشیا اضافه شده است. 3D Particles API برای افزودن جلوههای تولید شده توسط تجمع بزرگ ذرات (دود، مه و غیره) به صحنههای سه بعدی گسترش یافته است. یک عنصر ResourceLoader جدید پیاده سازی شده است که ابزارهایی برای مدیریت منابع در Qt Quick 3D ارائه می دهد و به شما امکان می دهد بارگذاری فعال منابع بزرگ مانند مش ها یا بافت ها را سازماندهی کنید و همچنین مجاز بودن تخلیه منابعی را که در قسمت قابل مشاهده قرار نمی گیرند کنترل کنید. منطقه صحنه
- اجرای پیشنمایش ماژول Qt PDF را اضافه کرد که در Qt 5.15 وجود داشت اما در Qt 6 گنجانده نشد.
- بخش بزرگی از توابع جدید به ماژول Qt Core اضافه شده است که عمدتاً مربوط به گسترش قابلیت های پردازش داده های رشته ای است. QLocale پشتیبانی از کدهای زبان ISO639-2 را اضافه کرده است. پشتیبانی از تعیین کننده های زمان AM/PM به QDate، QTime و QLocale اضافه شده است. تبدیل آسان تر بین فرمت های JSON و CBOR. متدهای QtFuture::whenAll() و whenAny() اضافه شد.
- Qt Positioning امکان تعیین دقت داده های مکان ارائه شده توسط پلتفرم های اندروید و iOS را فراهم می کند.
- Qt Bluetooth اطلاعاتی در مورد پشتیبانی Bluetooth LE و اطلاعاتی در مورد وضعیت آداپتور بلوتوث در ویندوز ارائه می دهد.
- Qt Widgets پشتیبانی از صفحه نمایش با وضوح بالا، استایل و تغییر ظاهر را با استفاده از شیوه نامه بهبود بخشیده است.
- سیستم ساخت بهبود یافته بر اساس CMake. تابع qt-generate-deploy-app-script() اضافه شد که تولید اسکریپت ها را برای استقرار برنامه ها در پلتفرم های مختلف ساده می کند.
- کارهای زیادی برای بهبود پایداری و کیفیت پایه کد انجام شده است. از زمان انتشار Qt 6.2، 1750 گزارش باگ بسته شده است.
- در نسخههای مهم بعدی Qt 6.x، آنها قصد دارند پشتیبانی کامل از WebAssembly، QHttpServer، gRPC، پشتیبان Qt Multimedia مبتنی بر FFmpeg، Qt Speech و Qt Location را اجرا کنند.
منبع: opennet.ru