Qt 6.7 çerçevesinin ve Qt Creator 13 geliştirme ortamının piyasaya sürülmesi

Qt Şirketi, Qt 6.7 şubesinin işlevselliğini stabilize etme ve artırma çalışmalarının devam ettiği Qt 6 çerçevesinin bir sürümünü yayınladı. Qt 6.7, Windows 10+, macOS 12+, Linux (Ubuntu 22.04, openSUSE) platformları için destek sağlıyor. 15.5, SUSE 15 SP5, RHEL 8.8 /9.2, Debian 11.6), iOS 16+, Android 8+ (API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS ve QNX. Qt bileşenlerinin kaynak kodu LGPLv3 ve GPLv2 lisansları kapsamında sağlanmaktadır.

Qt 6.7'teki büyük değişiklikler:

  • C++20 standardının öğelerini kullanan kodun kullanımına yönelik geliştirilmiş destek. C++17 spesifikasyonuyla uyumlu std::*_ordering türlerinin uygulanmasıyla birlikte Qt::{strong,weak,partial_ordering sınıfları ve derleyiciler tarafından derlendiğinde "" üç yönlü karşılaştırma operatörüne genişleyen makrolar eklendi C++ 20'yi destekleyenler (derleyici yalnızca C++17'yi destekliyorsa makrolar normal operatörlerin kullanımına geri döner).

    Bitişik bir nesne dizisini temsil etmek için std::span sınıfı şablonunu kullanmak mümkündür; bu, C++17'ye sahip sistemler için QSpan sınıfıyla değiştirilir. Çeşitli Qt API'lerinde std::chrono kitaplığı desteğinin uygulanmasına yönelik çalışmalar devam etti. Örneğin, Qt Network API'sindeki zaman aşımları artık std::chrono türleri kullanılarak açıklanıyor ve 5 saniyeyi belirtmek için "5s" gibi değişmez değerler biçiminde belirtiliyor.

  • Çeşitli grafik türleri oluşturmak ve hızla değişen büyük veri koleksiyonlarını görselleştirmek için tasarlanan deneysel Qt Graphs modülünün geliştirilmesine devam edildi. Modül, OpenGL tabanlı eski Qt DataVisualization modülü ve Qt Charts modülü için evrensel bir yedek olarak geliştirilmektedir. Yeni modül, Qt Quick 3D'yi ve çeşitli 3D API'leri (OpenGL, Vulkan, Metal ve Direct 3D) destekleyen RHI (Rendering Donanım Arayüzü) işleme motorunu kullanıyor. Yeni sürüm, 3 boyutlu görselleştirmenin yanı sıra, iki boyutlu pasta ve çizgi grafiklerinin yanı sıra dağılım grafikleri için de destek sağlıyor. Qt Quick'ta bulunan animasyon araçları ve efektleriyle entegrasyon sağlanır. Temalar için destek eklendi. Bellek ayırma işlemlerinin sayısını azaltmak için mimari modernleştirildi.
    Qt 6.7 çerçevesinin ve Qt Creator 13 geliştirme ortamının piyasaya sürülmesi
  • HTTP tabanlı API'leri ve REST (Temsil Durum Aktarımı) mimarisini kullanan istemci uygulamaları geliştirmek için yeni QHttpHeaders, QNetworkRequestFactory, QRestAccessManager ve QRestReply sınıfları eklenmiştir.
  • Qt GRPC modülünün yetenekleri genişletilerek gRPC hizmetlerine erişim sağlandı. Qt gRPC, değerler değiştiğinde mesajların otomatik olarak alınıp verilmesine olanak tanıyan istemci tarafı, sunucu tarafı ve çift yönlü akış çağrıları için yeni sınıflar ekledi. Seçilen gRPC iletilerine geri çağırma işleyicileri eklemek için bir Interceptor API'si önerilmiştir; bu, örneğin günlüğe kaydetme veya önbelleğe alma işlemlerini düzenlemek için kullanılabilir.
  • Protokol Arabelleği protokolünü kullanarak Qt sınıflarını serileştirmek için tasarlanan Qt Protobuf modülü, JSON formatına veya JSON formatından serileştirme yeteneği ekledi.
  • Qt SVG vektör grafik modülü, pratikte SVG görüntülerinde sıklıkla kullanılan SVG 1.1 ve 2.0 öğeleri için destek ekledi ( , , , Ve ), çoğu SVG dosyasının görüntülenmesine olanak tanır. SVG 2.0 için tam desteğe ihtiyaç duyanlar için Qt WebEngine modülünü kullanmanızı öneririz. Vektör grafiklerini doğrudan Qt Quick sahne grafiğine aktarmak amacıyla SVG'yi QML'ye dönüştürmek için svgtoqml yardımcı programı eklendi. Parça gölgelendirici kullanarak yüksek kaliteli eğri çizimi için Qt Quick Shapes modülünü kullanma yeteneği stabilize edildi.
  • Glifin kalınlığının, genişliğinin ve diğer stilistik özelliklerinin keyfi olarak değişebildiği değişken yazı tipleri için destek eklendi. Simge kitaplıkları için destek eklendi. QIcon::fromTheme çağrısını kullanırken, simge adını simge kitaplığındaki bir sembolle eşleştirmek mümkündür.
  • Geçerli platforma özgü pencereleri Qt Quick sahnesine gömmek mümkündür; bu, platform tarafından sağlanan arayüz öğelerini Qt Quick'a dayalı bir arayüzde kullanmanıza olanak tanır; örneğin, AppKit MapView veya Windows Media oynatıcısını gömebilirsiniz.
    Qt 6.7 çerçevesinin ve Qt Creator 13 geliştirme ortamının piyasaya sürülmesi
  • Qt'de desteklenen herhangi bir grafik API'sini (Vulkan, OpenGL, Direct3D, Metal) kullanarak, Qt Quick veya Qt Widget'larını temel alan uygulamalara oluşturma kodu ekleme desteği eklendi. Ekleme, QRhiQuickItem ve QRhiWidget sınıfları kullanılarak yapılır.
  • MacOS 14, iOS 17, Windows 11 23H2, Android 14, RHEL 9.2, openSUSE 15.5, SUSE Linux Enterprise Server 15 platformları için tam destek sağlanmaktadır. Windows için derlemeler eklendi ve LLVM'yi temel alan MinGW araç seti kullanılarak derlendi. ARM mimarisi (Windows ve Linux için), VxWorks 7 platformu ve QNX 7.1 için önizleme yapıları eklendi.
  • Qt ve QML tabanlı bir ortama sahip önyüklenebilir mobil sistemler oluşturmak için kullanılabilecek Boot2Qt yığını güncellendi. Boot2Qt'deki sistem ortamı Yocto 4.3 platformuna güncellendi.
  • Yeni örnek uygulamalar eklendi. Fırtına verilerini bir harita üzerinde görselleştirmek için Qt Konumu ve Qt Hızlı Kontrollerini kullanan Lightning Viewer örneği. OpenStreetMap'ten alınan bilgilere dayalı bir 3D bina haritası oluşturmak için Qt Quick 3D, Qt Positioning ve Qt Network'ü kullanan yeni OSM Binaları demosu. Sanal Asistan örneği, 3D animasyonla çalışma yeteneklerini gösterir. Hacimsel oluşturma örneği, hacimsel ışın izleme için Qt Quick 3D'de 3B dokuların nasıl kullanılacağını gösterir. StocQt örneği, borsa verilerini görüntülemek için Qt Grafikleri kullanılarak tamamen yeniden tasarlandı.
    Qt 6.7 çerçevesinin ve Qt Creator 13 geliştirme ortamının piyasaya sürülmesi

Ek olarak, Qt kütüphanesini kullanarak platformlar arası uygulamalar oluşturmak için tasarlanmış entegre geliştirme ortamı Qt Creator 13.0'ın yayınlandığını da not edebiliriz. Hem C++'ta klasik programların geliştirilmesini hem de komut dosyalarını tanımlamak için JavaScript'in kullanıldığı ve arayüz öğelerinin yapısı ve parametrelerinin CSS benzeri bloklar tarafından belirtildiği QML dilinin kullanımını destekler. Linux, Windows ve MacOS için hazır montajlar oluşturuldu.

Yeni sürümde:

  • Linux'lu ARM sistemleri için çevrimdışı ve çevrimiçi yükleyiciler eklendi.
  • Qt Creator'a Hoş Geldiniz arayüzü, karanlık ve açık temaları destekleyecek şekilde güncellendi.
    Qt 6.7 çerçevesinin ve Qt Creator 13 geliştirme ortamının piyasaya sürülmesi
  • Hata ayıklama modunda ve widget'lar (Widget Designer) oluştururken kullanılan panelleri taşımak için geliştirilmiş arayüz. Dikey paneller için geçici çökme desteği eklendi. Panelleri, önce yerleştirmeden başlıklarından serbestçe hareket ettirmek mümkündür.
    Qt 6.7 çerçevesinin ve Qt Creator 13 geliştirme ortamının piyasaya sürülmesi
  • Qt Application Manager'ı kullanan cihazlar için (Qt 6 ve CMake tabanlı uygulamalar için) uygulama oluşturma, dağıtma, çalıştırma ve hata ayıklama desteği eklendi.
  • iOS 17 için kısmi destek eklendi.
  • Varsayılan derleme dizini artık proje kodundaki "build" alt dizinini kullanacak şekilde değiştirildi. Yapı dizinini “Tercihler > Oluştur ve Çalıştır > Varsayılan Yapı Özellikleri > Varsayılan derleme dizini” ayarını kullanarak değiştirebilirsiniz.
  • Proje moduna, artık mevcut olmayan kitleri (farklı derleme araçlarına ve Qt sürümlerine bağlantılar) görüntüleyen ve bir yedek parça oluşturma veya onu oluştururken, dağıtırken ve kullanırken kullanma yeteneği sağlayan bir "Kaybolan hedefler" bölümü eklendi. mevcut başka bir kiti çalıştırıyorum.
  • Python dilindeki projeler için kitler oluşturmak mümkündür (yorumlayıcının farklı bir sürümünü seçmek için).
  • YAML, JSON ve Bash için LSP (Dil Sunucusu Protokolü) sunucularını kullanma yeteneği eklendi.
  • Kod düzenleyici, QML bileşenlerinden ilişkili C++ koduna gitmek için destek sağlar.
  • ClangFormat ayarları yeniden düzenlendi. Kendi ayarlarınızı değiştirmeniz için sözdizimi kontrolüne sahip bir metin düzenleyici sağlanmıştır.
    Qt 6.7 çerçevesinin ve Qt Creator 13 geliştirme ortamının piyasaya sürülmesi

Kaynak: opennet.ru

Yorum ekle