Qt 6.0 альфа версиясы жеткиликтүү

Qt компаниясы жарыялады жипти которуу жөнүндө Qt 6 альфа тестирлөө баскычына. Qt 6 олуттуу архитектуралык өзгөрүүлөрдү камтыйт жана куруу үчүн C ++ 17 стандартын колдогон компиляторду талап кылат. бошотуу пландаштырылган 1-жылдын 2020-декабрына карата.

Ачкыч өзгөчөлүктөрү Qt 6:

  • Иштөө тутумунун 3D API'синен көз карандысыз абстракцияланган графикалык API. Жаңы Qt графикалык стекинин негизги компоненти бул Qt Quick тиркемелерин OpenGL менен гана эмес, ошондой эле Vulkan, Metal жана Direct 3D API'леринин үстүнө иштетүү үчүн RHI (Rendering Hardware Interface) катмарын колдонот.
  • Qt Quick 3D модулу Qt Quick негизинде колдонуучу интерфейстерин түзүү үчүн API менен, 2D жана 3D графикалык элементтерди айкалыштыруу. Qt Quick 3D UIP форматын колдонбостон 3D интерфейсинин элементтерин аныктоо үчүн QMLди колдонууга мүмкүндүк берет. Qt Quick 3Dде сиз 2D жана 3D үчүн бир иштөө убактысын (Qt Quick), бир көрүнүштүн макетін жана бир анимация алкагын колдоно аласыз жана визуалдык интерфейсти иштеп чыгуу үчүн Qt Design Studio колдоно аласыз. Модуль Qt 3D же 3D студиясынын мазмуну менен QMLди интеграциялоодо чоң чыгымдар сыяктуу көйгөйлөрдү чечет жана 2D жана 3D ортосундагы кадр деңгээлинде анимацияларды жана трансформацияларды синхрондоштуруу мүмкүнчүлүгүн берет.
  • Коддук базаны майда компоненттерге кайра куруу жана негизги продуктунун өлчөмүн азайтуу. Иштеп чыгуучунун куралдары жана адистештирилген компоненттери каталог дүкөнү аркылуу таратылуучу кошумчалар катары берилет Qt Marketplace.
  • QMLдин олуттуу модернизациясы:
    • Күчтүү терүү колдоосу.
    • QMLди C++ өкүлчүлүгүнө жана машина кодуна компиляциялоо мүмкүнчүлүгү.
    • Толук JavaScript колдоосун тандоо (толук функциялуу JavaScript кыймылдаткычын колдонуу көп ресурстарды талап кылат, бул микроконтроллерлор сыяктуу жабдууларда QMLди колдонууга жол бербейт).
    • QMLде версиялоодон баш тартуу.
    • QObject жана QMLде кайталанган маалымат структураларынын унификациясы (эстутум керектөөнү азайтат жана ишке киргизүүнү тездетет).
    • Компиляция убактысын генерациялоонун пайдасына берилиш структураларынын иштөө убактысын генерациялоодон баш тартуу.
    • Жеке ыкмаларды жана касиеттерди колдонуу аркылуу ички компоненттерди жашыруу.
    • Рефакторинг жана компиляция убагындагы каталарды диагностикалоо үчүн иштеп чыгуу куралдары менен жакшыртылган интеграция.
  • PNG сүрөттөрүн кысылган текстурага айландыруу же шейдерлерди жана торлорду белгилүү бир жабдык үчүн оптималдаштырылган бинардык форматтарга айландыруу сыяктуу графикалык активдерди компиляция учурунда иштетүү үчүн куралдарды кошуу.
  • Темалар жана стилдер үчүн бирдиктүү кыймылдаткычты кыстаруу, Qt Widgets жана Qt Quick негизинде тиркемелердин пайда болушуна жетишүүгө мүмкүндүк берет, ар кандай мобилдик жана рабочий платформалар үчүн.
  • Куруу системасы катары QMakeдин ордуна CMake колдонуу чечими кабыл алынды. QMake аркылуу тиркемелерди куруу үчүн колдоо кала берет, бирок Qt өзү CMake аркылуу курулат. CMake тандалып алынган, анткени бул инструменттер топтому C++ долбоорун иштеп чыгуучулар арасында кеңири колдонулат жана көптөгөн интеграцияланган иштеп чыгуу чөйрөлөрүндө колдоого алынат. QMakeди алмаштыруучу Qbs чогултуу системасын иштеп чыгуу, улантты коомчулук.
  • Иштеп чыгууда C++17 стандартына өтүү (мурда C++98 колдонулган). Qt 6 көптөгөн заманбап C++ функцияларын колдоону ишке ашырууну пландаштырууда, бирок эски стандарттарга негизделген код менен артка шайкештикти жоготпостон.
  • C++ кодунда QML жана Qt Quick үчүн сунушталган айрым функцияларды колдонуу мүмкүнчүлүгү. Анын ичинде QObject жана ушул сыяктуу класстар үчүн жаңы менчик системасы көрсөтүлөт. QMLден, байланыштар менен иштөө үчүн кыймылдаткыч Qt өзөгүнө бириктирилет, бул туташуулар үчүн жүктөмдү жана эстутум керектөөнү азайтат жана аларды Qt Quick эмес, Qtтин бардык бөлүктөрүндө жеткиликтүү кылат.
  • Python жана WebAssembly сыяктуу кошумча тилдер үчүн кеңейтилген колдоо.
  • Source: opennet.ru

Комментарий кошуу