Keluaran rangka kerja Qt 5.15

Dikemukakan oleh pelepasan rangka kerja merentas platform Qt 5.15. Kod sumber untuk komponen Qt disediakan di bawah lesen LGPLv3 dan GPLv2. Cawangan baharu Qt 6 akan diterbitkan pada bulan Disember, di mana dijangka perubahan seni bina yang ketara. Untuk melicinkan peralihan masa hadapan kepada cawangan Qt 6, Qt 5.15 menyertakan pelaksanaan pratonton beberapa ciri baharu dan amaran tambahan tentang penamatan fungsi yang akan berlaku yang dijadualkan untuk dialih keluar dalam Qt 6.

Qt 5.15 diklasifikasikan sebagai keluaran Sokongan Jangka Panjang (LTS). Pada masa yang sama, untuk kemas kini komuniti kepada cawangan 5.15 akan diterbitkan hanya sehingga isu penting seterusnya terbentuk, i.e. kira-kira enam bulan. Kitaran LTS lanjutan, yang melibatkan penjanaan kemas kini dalam tempoh tiga tahun, akan dihadkan kepada pengguna dengan lesen komersial ($5508 setahun bagi setiap pemaju untuk syarikat biasa, dan $499 setahun untuk syarikat permulaan dan perniagaan kecil). Syarikat Qt juga dipertimbangkan keupayaan untuk beralih kepada model pengedaran Qt, di mana semua keluaran untuk 12 bulan pertama akan diedarkan hanya kepada pengguna lesen komersial. Tetapi setakat ini idea ini tidak melampaui perbincangan.

Utama inovasi dalam Qt 5.15:

  • Kerja diteruskan untuk mencipta API grafik abstrak yang tidak bergantung pada API 3D sistem pengendalian. Komponen utama timbunan grafik Qt baharu ialah enjin pemaparan pemandangan, yang menggunakan lapisan RHI (Rendering Hardware Interface) untuk menggerakkan aplikasi Qt Quick bukan sahaja dengan OpenGL, tetapi juga di atas API Vulkan, Metal dan Direct 3D. Dalam 5.15, susunan grafik baharu ditawarkan dalam bentuk pilihan yang mempunyai status "Pratonton Teknologi".
  • Sokongan modul penuh disediakan Qt 3D Pantas, dari mana tanda pembangunan eksperimen telah dikeluarkan. Qt Quick 3D menyediakan API bersatu untuk mencipta antara muka pengguna berdasarkan Qt Quick yang menggabungkan elemen grafik 2D dan 3D. API baharu membolehkan anda menggunakan QML untuk menentukan elemen antara muka 3D tanpa menggunakan format UIP. Dalam Qt Quick 3D, anda boleh menggunakan satu masa jalan (Qt Quick), satu susun atur pemandangan dan satu rangka kerja animasi untuk 2D dan 3D, dan menggunakan Qt Design Studio untuk pembangunan antara muka visual. Modul ini menyelesaikan masalah seperti overhed yang besar apabila menyepadukan QML dengan kandungan daripada Qt 3D atau 3D Studio, dan menyediakan keupayaan untuk menyegerakkan animasi dan transformasi pada tahap bingkai antara 2D dan 3D.

    Ciri baharu yang ditambahkan pada Qt Quick 3D termasuk sokongan untuk kesan pasca pemprosesan, API C++ untuk manipulasi geometri, API putaran berdasarkan kelas QQuaternion dan sokongan untuk lampu titik. Untuk menilai pelbagai ciri Qt Quick 3D disediakan aplikasi demo khas yang menunjukkan cara anda boleh menukar jenis dan sumber pencahayaan, menggunakan model yang kompleks, memanipulasi tekstur, bahan dan anti-aliasing. serentak dicadangkan pelepasan persekitaran untuk mereka bentuk antara muka pengguna Qt Design Studio 1.5, yang menyediakan sokongan penuh untuk Qt Quick 3D.


  • Dalam Qt QML kerja itu tertumpu sebagai persediaan untuk Qt 6. Keupayaan untuk menggunakan sifat dengan atribut 'diperlukan' dalam komponen, yang pemasangannya wajib, telah dilaksanakan. Utiliti qmllint telah menambah baik penjanaan amaran tentang kemungkinan masalah dalam kod QML. Menambahkan utiliti qmlformat, yang memudahkan untuk memformat kod QML mengikut garis panduan gaya pengekodan. Memastikan keserasian QML dengan edisi Qt untuk mikropengawal.
  • Dalam Qt Quick, sokongan untuk ruang warna telah ditambahkan pada elemen Imej. Elemen PathText baharu telah ditambahkan pada Qt Quick Shapes.
    Sifat cursorShape telah ditambahkan pada pengendali penunjuk, yang melaluinya anda boleh menukar bentuk kursor tetikus pada sistem desktop. Menambahkan elemen HeaderView untuk memudahkan anda menambah pengepala menegak dan mendatar pada jadual berasaskan TableView.

  • Sokongan hiasan tingkap sebelah pelanggan (CSD) telah dipertingkatkan dengan ketara, membolehkan aplikasi mentakrifkan hiasan tetingkapnya sendiri dan meletakkan kandungan tersuai dalam bar tajuk tetingkap.
  • Modul distabilkan Qt Lottie, yang menyediakan API QML lanjutan yang membolehkan anda memaparkan grafik dan animasi yang dieksport dalam format JSON menggunakan pemalam Bodymovin untuk Adobe After Effects. Terima kasih kepada QtLottie, pereka bentuk boleh menyediakan kesan animasi dalam aplikasi yang mudah, dan pembangun boleh menyambung terus fail yang dieksport ke antara muka aplikasi pada QtQuick. QtLottie termasuk enjin mikro terbina dalam untuk melaksanakan animasi, pemangkasan, lapisan dan kesan lain. Enjin boleh diakses melalui elemen QML LottieAnimation, yang boleh dikawal daripada kod QML dengan cara yang sama seperti mana-mana elemen QtQuick yang lain.
  • Enjin pelayar Qt WebEngine telah dikemas kini kepada pangkalan kod Chromium 80 (dalam cawangan 5.14 Chromium 77 telah digunakan, versi semasa ialah Chromium 83).
  • Modul Qt 3D telah menambah baik alat pemprofilan dan penyahpepijatan.
  • Qt Multimedia telah menambah sokongan untuk pemaparan berbilang permukaan.
  • Dalam Qt GUI, operasi penskalaan dan transformasi imej kini berbilang benang dalam banyak kes.
  • Qt Network telah menambah sokongan untuk tamat masa tersuai dan pintasan sesi dalam TLS 1.3 (Tiket Sesi, membolehkan anda menyambung semula sesi tanpa menyimpan keadaan di bahagian pelayan).
  • Mendayakan Qt Core, QRunnable dan QThreadPool untuk berfungsi dengan std::function. Menambah kaedah baharu QFile::moveToTrash() untuk mengalihkan item ke sampah, dengan mengambil kira spesifikasi platform yang berbeza.
  • Dalam Qt untuk Android tambah Sokongan untuk dialog asli untuk membuka dan menyimpan fail.

Sumber: opennet.ru

Tambah komen