Qt Şirketi, Qt 6 dalının işlevselliğini istikrara kavuşturma ve genişletme çalışmalarını sürdüren Qt 6.4 çerçevesini yayınladı. Qt 6.4, çeşitli platformlar için destek sağlıyor. Windows 10+, macOS 10.15+ Linux (Ubuntu 20.04, CentOS 8.2, openSUSE 15.3, SUSE 15 SP2), iOS 14+, Android 6+ (API 23+), webOS, WebAssembly, INTEGRITY ve QNX. Qt bileşenlerinin kaynak kodu LGPLv3 ve GPLv2 lisansları altında lisanslanmıştır.
Qt 6.4'teki büyük değişiklikler:
- Bir web tarayıcısında çalışan ve farklı donanım platformları arasında taşınabilir olan Qt uygulamaları oluşturmanıza olanak tanıyan WebAssembly platformu için tam destek uygulandı. JIT kopyalama sayesinde WebAssembly platformu için oluşturulan uygulamalar, yerel koda yakın performansla çalışır ve Qt Quick, Qt Quick 3D ve Qt'de bulunan görselleştirme araçlarını kullanabilir. WebAssembly tabanlı bir uygulama korumalı alana alınmış bir tarayıcı ortamında çalıştığından, yerel işletim sistemi kaynakları ve hizmetleriyle çalışmaya yönelik bazı API'lere erişim sınırlıdır, ancak tarayıcı entegrasyonu için ek API'ler sağlanır.
- Qt 5'te yer alan ancak Qt 6 sürümünde bulunmayan Qt TextToSpeech modülü, çekirdek pakete geri döndürüldü. Bu modül, engelli bireyler için uygulamaların erişilebilirliğini iyileştirmek veya örneğin otomobil bilgi-eğlence sistemlerinde bildirimlerin görüntülenmesi gibi yeni arka plan kullanıcı bilgilendirme yöntemleri uygulamak için kullanılabilecek konuşma sentezi araçları sağlar. Linux Metinden sese dönüştürme işlemi, Speech Dispatcher kütüphanesi (libspeechd) kullanılarak, diğer platformlarda ise standart işletim sistemi API'si aracılığıyla gerçekleştirilir.
- Qt Quick için iOS stilini uygulayan deneysel bir modül eklendi. Qt Quick Controls tabanlı uygulamalar, iOS platformunda yerel arayüz stilini otomatik olarak oluşturmak için bu modülü kullanabilir; bu, yerel stilin nasıl uygulandığına benzer. Windows, macOS и Android.


- HTTP sunucusu işlevselliğini HTTP/1.1, TLS/HTTPS, WebSockets, hata işleme, URL parametrelerine dayalı istek yönlendirme (QHttpServerRouter) ve REST API'yi destekleyen uygulamalara entegre etmenize olanak tanıyan deneysel bir QtHttpServer modülü eklenmiştir.
- 3B sahnelerdeki nesnelerin gerçekçi etkileşimi ve hareketini elde etmek için Qt Quick 3D ile kullanılabilecek bir fizik simülasyon API'si sağlayan deneysel bir Qt Quick 3D Fizik modülü eklendi. Uygulama PhysX motorunu temel almaktadır.
- Işınım haritaları kullanılarak Qt Quick 3D modülüne küresel aydınlatma için deneysel destek eklenmiş olup, 3 boyutlu bir sahnede farklı kaynaklardan gelen ışığı daha gerçekçi bir şekilde simüle etmenize olanak tanır. Qt Quick 3D ayrıca doğrusal parçacıklar, parlak malzemeler, gelişmiş yansıma ayarları, gökyüzü kutuları ve özel malzemeler ve dokular için destek içerir.

- Qt Quick'te sağlanan TableView ve TreeView türlerinin yetenekleri, klavye gezinmesi, satır ve sütunların vurgulanması, hücrelerin konumu üzerinde daha eksiksiz kontrol, animasyon, ağaç yapılarının daraltılması ve genişletilmesi desteğini içerecek şekilde genişletildi.
- Qt Quick, kodun animasyon çerçeveleriyle eşzamanlı olarak çalışmasına olanak tanıyan yeni bir tür olan FrameAnimation'ı sunar. Animasyon düzgünlüğünü geliştirmek için Qt Quick, çok iş parçacıklı oluşturma sırasında hatalı vsync senkronizasyonunu da otomatik olarak yönetir.

- Qt Quick ve Qt Widget'a dayalı öğeleri birleştiren arayüzler oluşturmanıza olanak tanıyan QQuickWidget widget'ı, yalnızca OpenGL kullanarak değil, aynı zamanda OpenGL kullanarak da çalışmanıza olanak tanıyan RHI (Rendering Hardware Interface) katmanı için tam desteğe sahiptir. Vulkan, Metal ve Direct 3D API'leri.
- Qt Network modülüne QSslServer sınıfı eklendi, bu sayede verimli ağlar oluşturabilirsiniz. sunucularTLS kullanarak güvenli bir iletişim kanalı oluşturuluyor.
- Video ve ses işleme için FFmpeg paketi kullanılarak Qt Multimedya modülüne deneysel bir arka uç eklendi. Video oynatılırken, renk alanlarının ve HDR'nin işlenmesi iyileştirildi ve altyazıları QVideoFrames aracılığıyla değiştirme yeteneği eklendi. Üç boyutlu ses dağıtımına sahip sahneler oluşturmanıza ve dinleyicinin konumuna, oda boyutuna ve duvar ve zemin malzemelerine bağlı olarak ses yansıtma özelliklerine sahip sanal odaları simüle etmenize olanak tanıyan uzamsal ses desteği eklendi.
- Qt Widgets modülü, yapılandırılmış kullanıcı girişini yakalamak için arayüzler sağlamak üzere QFormLayout sınıfını genişletir. Çok adımlı arayüzler oluşturmak için tasarlanan QWizard sınıfı, formlardaki satırların görünürlüğünü kontrol etmek ve sihirbazdaki herhangi bir sayfaya gitmek için API'ler ekledi.
- QML, değer türleri için geliştirilmiş destek sunarak yapılandırılmış verilerin C++'tan QML'ye aktarılmasını kolaylaştırdı. Benzer türler ve bu türlerin listeleri artık QObject'e dayalı bağlama olmadan özelliklerde kullanılabilir. LSP sunucusunun yetenekleri, QML dil desteğini entegre geliştirme ortamlarına entegre edecek şekilde genişletildi. QML Türü Derleyicisi varsayılan olarak etkindir ve bir QML gösterimini C++ koduna derlemenize olanak tanır.
- Koddaki dize değişmezleriyle çalışma yetenekleri genişletildi - ICU'da (Unicode için Uluslararası Bileşenler) bulunan tüm kodlamalar için destek, QStringEncoder ve QStringDecoder sınıflarına eklendi.
- QTextDocuments sınıfı, Markdown işaretlemesi için destek ekledi.
Kaynak: opennet.ru




