Rilis kerangka kerja Qt 5.15

Disampaikan oleh rilis kerangka lintas platform Qt 5.15. Kode sumber untuk komponen Qt disediakan di bawah lisensi LGPLv3 dan GPLv2. Cabang baru Qt 6 akan diterbitkan pada bulan Desember, di mana mengharapkan perubahan arsitektur yang signifikan. Untuk memperlancar transisi di masa depan ke cabang Qt 6, Qt 5.15 menyertakan implementasi pratinjau beberapa fitur baru dan menambahkan peringatan tentang penghentian fungsi yang dijadwalkan untuk dihapus pada Qt 6.

Qt 5.15 diklasifikasikan sebagai rilis Dukungan Jangka Panjang (LTS). Pada saat yang sama, untuk komunitas, pembaruan ke cabang 5.15 akan diterbitkan hanya sampai isu penting berikutnya terbentuk, yaitu sekitar enam bulan. Siklus LTS yang diperpanjang, yang melibatkan pembuatan pembaruan selama periode tiga tahun, akan terbatas pada pengguna dengan lisensi komersial ($5508 per tahun per pengembang untuk perusahaan reguler, dan $499 per tahun untuk startup dan usaha kecil). Perusahaan Qt juga dipertimbangkan kemampuan untuk beralih ke model distribusi Qt, di mana semua rilis selama 12 bulan pertama akan didistribusikan hanya kepada pengguna lisensi komersial. Namun sejauh ini gagasan tersebut belum melampaui diskusi.

Utama inovasi di Qt 5.15:

  • Pekerjaan dilanjutkan pada pembuatan API grafik abstrak yang tidak bergantung pada API 3D sistem operasi. Komponen kunci dari tumpukan grafis Qt baru adalah mesin rendering adegan, yang menggunakan lapisan RHI (Rendering Hardware Interface) untuk mendukung aplikasi Qt Quick tidak hanya dengan OpenGL, tetapi juga di atas Vulkan, Metal, dan Direct 3D API. Di 5.15, tumpukan grafis baru ditawarkan dalam bentuk opsi yang berstatus "Pratinjau Teknologi".
  • Dukungan modul penuh disediakan Qt Cepat 3D, yang darinya tanda pengembangan eksperimental telah dihilangkan. Qt Quick 3D menyediakan API terpadu untuk membuat antarmuka pengguna berdasarkan Qt Quick yang menggabungkan elemen grafis 2D dan 3D. API baru memungkinkan Anda menggunakan QML untuk mendefinisikan elemen antarmuka 3D tanpa menggunakan format UIP. Di Qt Quick 3D, Anda dapat menggunakan satu runtime (Qt Quick), satu tata letak adegan dan satu kerangka animasi untuk 2D dan 3D, dan menggunakan Qt Design Studio untuk pengembangan antarmuka visual. Modul ini memecahkan masalah seperti overhead yang besar saat mengintegrasikan QML dengan konten dari Qt 3D atau 3D Studio, dan menyediakan kemampuan untuk menyinkronkan animasi dan transformasi pada tingkat bingkai antara 2D dan 3D.

    Fitur baru yang ditambahkan ke Qt Quick 3D mencakup dukungan untuk efek pasca-pemrosesan, API C++ untuk manipulasi geometri, API rotasi berdasarkan kelas QQuaternion, dan dukungan untuk lampu titik. Untuk mengevaluasi berbagai fitur Qt Quick 3D siap aplikasi demo khusus yang menunjukkan bagaimana Anda dapat mengubah jenis dan sumber pencahayaan, menggunakan model yang kompleks, memanipulasi tekstur, material, dan anti-aliasing. Serentak diajukan isu lingkungan untuk merancang antarmuka pengguna Qt Design Studio 1.5, yang menyediakan dukungan penuh untuk Qt Quick 3D.


  • Di Qt QML pekerjaannya adalah pekat dalam persiapan untuk Qt 6. Kemampuan untuk menggunakan properti dengan atribut 'wajib' dalam komponen, yang instalasinya wajib, telah diterapkan. Utilitas qmllint telah meningkatkan pembuatan peringatan tentang kemungkinan masalah dalam kode QML. Menambahkan utilitas qmlformat, yang memudahkan pemformatan kode QML sesuai dengan pedoman gaya pengkodean. Memastikan kompatibilitas QML dengan edisi Qt untuk mikrokontroler.
  • Di Qt Quick, dukungan untuk ruang warna telah ditambahkan ke elemen Gambar. Elemen PathText baru telah ditambahkan ke Qt Quick Shapes.
    Properti kursorShape telah ditambahkan ke pengendali penunjuk, yang melaluinya Anda dapat mengubah bentuk kursor mouse pada sistem desktop. Menambahkan elemen HeaderView untuk memudahkan menambahkan header vertikal dan horizontal ke tabel berbasis TableView.

  • Dukungan dekorasi jendela sisi klien (CSD) telah ditingkatkan secara signifikan, memungkinkan aplikasi untuk menentukan dekorasi jendelanya sendiri dan menempatkan konten khusus di bilah judul jendela.
  • Modul stabil Qt Lotti, yang menyediakan API QML tingkat lanjut yang memungkinkan Anda merender grafik dan animasi yang diekspor dalam format JSON menggunakan plugin Bodymovin untuk Adobe After Effects. Berkat QtLottie, seorang desainer dapat menyiapkan efek animasi dalam aplikasi yang mudah digunakan, dan pengembang dapat langsung menghubungkan file yang diekspor ke antarmuka aplikasi di QtQuick. QtLottie menyertakan mesin mikro bawaan untuk melakukan animasi, cropping, layering, dan efek lainnya. Mesin ini dapat diakses melalui elemen QML LottieAnimation, yang dapat dikontrol dari kode QML dengan cara yang sama seperti elemen QtQuick lainnya.
  • Mesin browser Qt WebEngine telah diperbarui ke basis kode Chromium 80 (di cabang 5.14 Chromium 77 digunakan, versi saat ini adalah Chromium 83).
  • Modul Qt 3D telah meningkatkan alat pembuatan profil dan debugging.
  • Qt Multimedia telah menambahkan dukungan untuk rendering multi-permukaan.
  • Di Qt GUI, operasi penskalaan dan transformasi gambar sekarang dilakukan secara multi-thread dalam banyak kasus.
  • Qt Network telah menambahkan dukungan untuk batas waktu khusus dan pintasan sesi di TLS 1.3 (Tiket Sesi, memungkinkan Anda melanjutkan sesi tanpa menyimpan status di sisi server).
  • Mengaktifkan Qt Core, QRunnable, dan QThreadPool untuk bekerja dengan std::function. Menambahkan metode baru QFile::moveToTrash() untuk memindahkan item ke sampah, dengan mempertimbangkan spesifikasi platform yang berbeda.
  • Di Qt untuk Android ditambahkan Dukungan untuk dialog asli untuk membuka dan menyimpan file.

Sumber: opennet.ru

Tambah komentar