חברת Qt פרסמה מהדורה של מסגרת Qt 6.6, שבה העבודה ממשיכה לייצב ולהגביר את הפונקציונליות של ענף Qt 6. Qt 6.6 מספק תמיכה עבור פלטפורמות Windows 10+, macOS 11+, Linux (Ubuntu 22.04, openSUSE 15.4 , SUSE 15 SP4, RHEL 8.6 /9.0), iOS 14+, Android 8+ (API 23+), webOS, WebAssembly, INTEGRITY ו-QNX. קוד המקור של רכיבי Qt מסופק תחת הרישיונות LGPLv3 ו-GPLv2.
שינויים עיקריים ב-Qt 6.6:
- מודול Qt Quick מספק תמיכה ניסיונית לפריסת ממשק אדפטיבית. כדי לשנות באופן דינמי את פריסת הממשק בהתאם לגודל החלון ולהציב אלמנטים באופן אוטומטי תוך התחשבות במבנה הפריסה הנוכחית, מוצעת המחלקה LayoutItemProxy, ומודול Qt Quick Layouts מספק את היכולת להשתמש בגדלים אחידים של תאים עבור פריסות עם אלמנטים מסודרים ברשת, שורות ועמודות.

- Qt Quick הוסיפה תמיכה במצבי בחירה (המאפיין selectMode) ב-TableView מסוג QML (לדוגמה, ניתן לשלוט בבחירה של תאים, שורות, עמודות וקבוצות של תאים), ניתנה היכולת לשנות את המאפיין rootIndex, וב-TreeView מסוג QML הורחבה השליטה בעיצוב פסי הגלילה (גלול) -האטה) בסוג Flickable QML, מיושם קיצור אוטומטי של נתיבי קבצים. סיפקה גישה מ-QML ל-API לניהול ההרשאות.
- נוסף מודול Qt Graphs ניסיוני, שמטרתו לספק מודול למטרות כלליות להמחשת אוספים גדולים של נתונים המשתנים במהירות ויצירת סוגים שונים של גרפים. המודול מפותח כתחליף אוניברסלי למודול Qt DataVisualization הישן, המבוסס על OpenGL, ולמודול Qt Charts. המודול עדיין בפיתוח וכרגע מתמקד בשחזור הפונקציונליות של Qt DataVisualization על גבי Qt Quick 3D ובשימוש במנוע העיבוד החדש (RHI, Rendering Hardware Interface) התומך בממשקי 3D שונים (OpenGL, Vulkan, Metal ו-Direct 3D) .

- מודול Qt Multimedia הוסיף מחלקה QWindowCapture ללכידת התוכן של חלונות בודדים, משלים את מחלקת QScreenCapture שהוצגה במהדורה האחרונה, המוגבלת ללכידת המסך כולו. QWindowCapture מספק רשימה של חלונות זמינים ללכידה וניתן להשתמש בהם ביישומים לשיתוף חלונות. לכידת חלונות ומסך נתמכת באמצעות ה-FFmpeg backend בכל הפלטפורמות למעט מערכות המשתמשות בפרוטוקול Wayland.
- נוספו מאפיינים למחלקת QMediaRecorder כדי לשלוט באיכות וידאו, ברזולוציה ובקצב סיביות.
- מודולי Qt GRPC ו-Qt Protobuf הורחבו כדי לאפשר גישה לשירותי gRPC ולסידור של מחלקות Qt באמצעות פרוטוקול Protocol Buffer. אפשרויות חדשות QGrpcChannelOptions ו-QGrpcCallOptions נוספו ל-Qt GRPC כדי לפשט את הגדרת הערוצים והקריאות, וכן כדי להגביל את זמן הביצוע המרבי של קריאה או הליך משנה. האפשרות QGrpcMetadata נוספה להגדרת מטא-נתונים על ידי הלקוח ולקריאת מטא-נתונים המוחזרים על ידי הלקוח. שרתQt GRPC משלב כעת תמיכה בסוגי QML ליצירה אוטומטית של מחלקות לקוח QtGRPC. Qt Protobuf מאפשר כעת הכללה של כמה סוגי Qt Core ו-Qt GUI בסכימת *.proto, ומספק גישה להקשרים של QML דרך מחלקות QProtobufMessage. נוספה תמיכה בסוגים google.protobuf.Any ו-oneof.
- למודול Qt WebEngine נוסף API לגישה להגדרות פרטיות ואבטחה, המאפשר לך להשבית תכונות מסוימות של מנוע הדפדפן. לדוגמה, באמצעות התכונות QWebEngineUrlScheme::FetchApiAllowed ו-QWebEngineSettings::DisableReadingFromCanvas, אתה יכול להשבית את Fetch API ואת העיבוד של רכיבי Canvas כדי להפחית את הסיכון לזיהוי פסיבי. נוספה תמיכה בכתובת ה-URL הפנימית "chrome://qt", שכאשר היא נפתחת מציגה דף עם מידע על הגרסה של מנוע Chromium בשימוש.
- תוסף עם תמיכה ב-Mimer SQL DBMS נוסף למודול Qt SQL, והגדרות החיבור במנהל ההתקן של MySQL ו-MariaDB DBMS הורחבו.
- מודול Qt PDF מספק שיעורים לגישה לקישורים, תמונות ממוזערות של עמודים ודפים נבחרים.
- ב-Qt Quick, סוג ה-Font מיישם API חדש לתצורה מתקדמת של פריסת גליפים (עיצוב) בגופני OpenType. אפשר להשתמש במודול Qt Quick Shapes לציור באיכות גבוהה של קווים ועיקולים באמצעות הצללה של fragment.

- נעשתה עבודה לתיעוד מנוע הרינדור RHI (Rendering Hardware Interface), וכן לייצב את ה-API ברמה נמוכה הקשור אליו. רמת התאימות לאחור עבור RHI תבוא כעת בעקבות ה-Qt Platform Abstraction API, מה שמאפשר להשתמש ב-RHI ישירות לפיתוח קוד ברמה נמוכה חוצה פלטפורמות שעובד עם כל ערימות הגרפיקה וה-API הגרפיות הפופולריות (OpenGL, Vulkan, Metal ו-Direct 3D) .
- תמיכה ביצירה פרוצדורלית של טקסטורות וגיאומטריה המבוססת על רשת מצולע מ-QML נוספה למודול Qt Quick 3D.
- למודול Qt TextToSpeech יש כעת את היכולת ליצור נתוני PCM (Pulse-Code Modulation) לעיבוד נוסף של דיבור מסונתז (בעבר נתמך רק פלט ישיר להתקן שמע). הגדרות נוספות לפילוח טקסט סופקו, API נוסף לחיפוש הקולות הנדרשים, ו-API נוסף כדי לקבוע את פונקציות המנוע הזמינות.
- ערכת המודולים Qt for Python, המספקת כלים ליצירת יישומים גרפיים ב- Python באמצעות Qt, הוסיפה תמיכה בפעולות א-סינכרוניות באמצעות asyncio. Qt for Python תואם כעת למכשירים המבוססים על ארכיטקטורת AArch64.
- מחסנית Boot2Qt עודכנה, אשר ניתן להשתמש בה כדי ליצור מערכות ניידות הניתנות לאתחול עם סביבה המבוססת על Qt ו-QML. סביבת המערכת ב-Boot2Qt עודכנה לפלטפורמת Yocto 4.2 (Mickledore). מתבצעת עבודה לאספקת מכלולי Boot2Qt מוכנים עבור לוחות NXP ומכשירי Renesas R-Car.
- נוספה תמיכה בפלטפורמת אנדרואיד 13. תמיכה משופרת בארכיטקטורת ARM בפלטפורמות ווינדוס ולינוקס. יחד עם מתחזקים מפרויקט דביאן, חבילות עם Qt 6 עבור Debian 11 ו-Debian 12 ממוקמות במאגרים הסטנדרטיים של ההפצה, וחבילות עם רכיבים מסחריים של Qt 6.6 עבור Debian ממוקמות במאגרי Qt Company.
- כלי הפיתוח לפלטפורמת WebAssembly שופרו, ומאפשרים ליצור אפליקציות Qt הפועלות בדפדפן אינטרנט וניידות בין פלטפורמות חומרה שונות. אפליקציות שנבנו עבור פלטפורמת WebAssembly, הודות להידור JIT, פועלות עם ביצועים קרובים לקוד מקורי ויכולות להשתמש ב-Qt Quick, Qt Quick 3D ובכלי ההדמיה הזמינים ב-Qt. הגרסה החדשה מפשטת איתור באגים של אפליקציות WebAssembly ומשפרת את התחזוקה של פלטפורמה זו הודות לתמיכה בקישור דינמי (מעכשיו ניתן לספק ליישומי WebAssembly ספריות ותוספים Qt משותפות).
מקור: OpenNet.ru



