Qt 6.0 ning alfa versiyasi mavjud

Qt kompaniyasi e'lon qildi mavzuni tarjima qilish haqida Qt 6 alfa sinov bosqichiga. Qt 6 muhim me'moriy o'zgarishlarni o'z ichiga oladi va qurish uchun C ++ 17 standartini qo'llab-quvvatlaydigan kompilyatorni talab qiladi. Chiqarish rejalashtirilgan 1-yil 2020-dekabr holatiga ko‘ra.

Kalit xususiyatlari Qt 6:

  • Operatsion tizimning 3D API'sidan mustaqil mavhum grafik API. Yangi Qt grafik stekining asosiy komponenti sahnani ko‘rsatish mexanizmi bo‘lib, u RHI (Rendering Hardware Interface) qatlamidan Qt Quick ilovalarini nafaqat OpenGL bilan, balki Vulkan, Metal va Direct 3D API-larining yuqori qismida quvvatlantirish uchun ishlatadi.
  • 3D va 2D grafik elementlarini birlashtirgan Qt Quick asosida foydalanuvchi interfeyslarini yaratish uchun API bilan Qt Quick 3D moduli. Qt Quick 3D UIP formatidan foydalanmasdan 3D interfeys elementlarini aniqlash uchun QML dan foydalanish imkonini beradi. Qt Quick 3D-da siz 2D va 3D uchun bitta ish vaqti (Qt Quick), bitta sahna tartibi va bitta animatsiya ramkasidan foydalanishingiz mumkin va vizual interfeysni ishlab chiqish uchun Qt Design Studio-dan foydalanishingiz mumkin. Modul Qt 3D yoki 3D Studio kontenti bilan QMLni integratsiyalashganda katta qoʻshimcha xarajatlar kabi muammolarni hal qiladi va animatsiya va transformatsiyalarni 2D va 3D oʻrtasida kadrlar darajasida sinxronlashtirish imkoniyatini beradi.
  • Kod bazasini kichikroq komponentlarga qayta qurish va asosiy mahsulot hajmini kamaytirish. Ishlab chiquvchi vositalari va maxsus komponentlar katalog do'koni orqali tarqatiladigan qo'shimchalar sifatida taqdim etiladi Qt bozori.
  • QMLning sezilarli modernizatsiyasi:
    • Yozishni kuchli qo'llab-quvvatlash.
    • QMLni C++ vakilligi va mashina kodiga kompilyatsiya qilish qobiliyati.
    • JavaScript-ni to'liq qo'llab-quvvatlash variantini yaratish (to'liq xususiyatli JavaScript dvigatelidan foydalanish juda ko'p resurslarni talab qiladi, bu mikrokontrollerlar kabi uskunalarda QMLdan foydalanishga to'sqinlik qiladi).
    • QMLda versiya yaratishni rad etish.
    • QObject va QML-da takrorlangan ma'lumotlar tuzilmalarini birlashtirish (xotira sarfini kamaytiradi va ishga tushirishni tezlashtiradi).
    • Kompilyatsiya vaqtini yaratish foydasiga ma'lumotlar tuzilmalarini ish vaqtida yaratishdan uzoqlashish.
    • Shaxsiy usullar va xususiyatlardan foydalanish orqali ichki komponentlarni yashirish.
    • Refaktoring va kompilyatsiya vaqtidagi xatolarni tashxislash uchun ishlab chiqish vositalari bilan yaxshilangan integratsiya.
  • PNG tasvirlarini siqilgan teksturaga aylantirish yoki shaderlar va meshlarni muayyan apparat uchun optimallashtirilgan ikkilik formatlarga aylantirish kabi kompilyatsiya vaqtida grafik bilan bog'liq aktivlarni qayta ishlash uchun vositalarni qo'shish.
  • Mavzular va uslublar uchun birlashtirilgan dvigatelni o'rnatish, turli xil mobil va ish stoli platformalariga xos bo'lgan Qt Widgets va Qt Quick asosidagi ilovalar ko'rinishiga erishish imkonini beradi.
  • Qurilish tizimi sifatida QMake o'rniga CMake dan foydalanishga qaror qilindi. QMake-dan foydalangan holda ilovalarni yaratishni qo'llab-quvvatlash saqlanib qoladi, ammo Qt-ning o'zi CMake yordamida quriladi. CMake tanlangan, chunki bu asboblar to'plami C++ loyihasi ishlab chiquvchilari orasida keng qo'llaniladi va ko'plab integratsiyalashgan ishlab chiqish muhitlarida qo'llab-quvvatlanadi. QMake o'rnini bosuvchi Qbs yig'ish tizimini ishlab chiqish, davom etdi jamiyat.
  • Ishlab chiqish jarayonida C++17 standartiga o‘tish (ilgari C++ 98 ishlatilgan). Qt 6 ko'plab zamonaviy C++ funksiyalarini qo'llab-quvvatlashni amalga oshirishni rejalashtirmoqda, lekin eski standartlarga asoslangan kod bilan orqaga qarab muvofiqlikni yo'qotmasdan.
  • C++ kodida QML va Qt Quick uchun taqdim etilgan ba'zi funksiyalardan foydalanish imkoniyati. QObject va shunga o'xshash sinflar uchun yangi mulk tizimi, shu jumladan, taqdim etiladi. QML-dan bog'lashlar bilan ishlash uchun vosita Qt yadrosiga integratsiya qilinadi, bu ulanishlar uchun yuk va xotira sarfini kamaytiradi va ularni faqat Qt Quick emas, balki Qt ning barcha qismlari uchun mavjud qiladi.
  • Python va WebAssembly kabi qo'shimcha tillar uchun kengaytirilgan qo'llab-quvvatlash.
  • Manba: opennet.ru

a Izoh qo'shish