Ua paʻi ʻia ka palapala alanui hana Qt 6

ʻO Lars Knoll, ka mea nāna i hana i ka ʻenekini KHTML, luna hoʻomalu o ka Project Qt a me ka luna ʻenehana o ka Hui Qt, hai e pili ana i nā hoʻolālā e hana i ka lālā koʻikoʻi e hiki mai ana o ka Qt framework. Ke hoʻopau ʻia ka hana o ka lālā Qt 5.14, e kālele ana ka hoʻomohala ʻana i ka hoʻomākaukau ʻana no ka hoʻokuʻu ʻana o Qt 6, i manaʻo ʻia ma ka hopena o 2020.

E hoʻomohala ʻia ʻo Qt 6 me ka maka e hōʻoia i ka hoʻohālikelike ʻana me Qt 5, akā hiki ke ala mai nā pilikia pilikino, no ka mea, ʻaʻole hiki ke hoʻokō ʻia nā hoʻololi a me nā hoʻomaʻemaʻe i hoʻolālā ʻia me ka nalowale ʻole o kekahi pae o ka hoʻohālikelike. No ka hoʻomaʻamaʻa ʻana i ka hoʻololi ʻana, ua hoʻolālā ʻia kekahi mau hiʻohiʻona o Qt 6 e hoʻokomo ʻia i kahi ʻano hoʻemi ma ke ʻano he ʻāpana o ka Qt 5.14 a me Qt 5.15 LTS hoʻokuʻu. E hoʻomākaukau ʻia ka pahu hana e hoʻomaʻamaʻa i ka neʻe ʻana i Qt 6.

Ma waena o nā pahuhopu nui no ka lālā koʻikoʻi e hiki mai ana e lawe i ka hana i ka laina me nā koi o 2020, hoʻomaʻemaʻe i ke kumu code a maʻalahi i ka mālama ʻana i ka papahana. Nā hoʻololi i manaʻo ʻia:

  • ʻO ka hōʻano hou ʻana o QML:
    • Kākoʻo paʻi paʻi ikaika.
    • Hiki ke hoʻohui i ka QML i loko o ka hōʻike C++ a me ka code mīkini.
    • ʻO ka hana ʻana i ke kākoʻo JavaScript piha i kahi koho (me ka hoʻohana ʻana i kahi mīkini JavaScript piha piha e pono ai ka nui o nā kumuwaiwai, ka mea e pale ai i ka hoʻohana ʻana o QML ma nā lako e like me nā microcontrollers).
    • Hōʻole i ka hoʻololi ʻana ma QML.
    • ʻO ka hoʻohui ʻana o nā ʻikepili i hoʻopaʻa ʻia ma QObject a me QML (e hōʻemi i ka hoʻohana ʻana i ka hoʻomanaʻo a me ka wikiwiki o ka hoʻomaka).
    • Ka neʻe ʻana mai ka wā holo o ka hoʻokumu ʻana i ka ʻikepili i makemake i ka hoʻokumu ʻana i ka manawa hoʻonohonoho.
    • Ka hūnā ʻana i nā ʻāpana kūloko ma o ka hoʻohana ʻana i nā ala pilikino a me nā waiwai.
    • Hoʻomaikaʻi i ka hoʻohui ʻana me nā mea hana hoʻomohala no ka refactoring a me ka hōʻuluʻulu ʻana i ka ʻike hewa manawa;
  • Hoʻohui i kahi papa abstract hou, ʻo ka Rendering Hardware Interface (RHI), e hāʻawi i ka hoʻohana ʻole ʻia o nā API kiʻi like ʻole, me OpenGL, Vulkan, Metal a me Direct 3D (ma mua ʻo Qt ʻo OpenGL-wale nō). E hoʻololi ʻia nā ʻōnaehana hoʻolilo āpau e hoʻohana i ka RHI, me QPainter, Qt Quick Scenegraph a me Qt3D. Hoʻolālā ʻia e hoʻohui i ka module Qt Shader Tools e kākoʻo i nā ʻōlelo hoʻomohala shader like ʻole a hāʻawi i ka hui ʻana o nā shaders ma ke kahua kūkulu a i ka wā holo;
  • Ka hoʻomākaukau ʻana i kahi API i hoʻohui ʻia no ka hana ʻana i nā mea hoʻohana e hoʻohui i nā mea kiʻi 2D a me 3D. E ʻae ka API hou iā ʻoe e hoʻohana i ka QML e wehewehe i nā mea kikowaena 3D me ka hoʻohana ʻole ʻana i ke ʻano UIP. ʻO ke kikowaena hou no ka hoʻohui ʻana i ka ʻike 3D me Qt Quick nā hoʻolālā e hoʻoponopono i nā pilikia e like me ke kiʻekiʻe kiʻekiʻe o ka hoʻohui ʻana i ka QML me nā ʻike mai Qt 3D a i ʻole 3D Studio, a me ka hiki ʻole ke hoʻonohonoho i nā animation a me nā hoʻololi kiʻekiʻe ma waena o 2D a me 3D. E hoʻokō ʻia ka hoʻohana ʻana i ka ʻenekini rendering hou. Manaʻo ʻia kahi ʻike o ka Qt Quick hou me ke kākoʻo 2D i ka hoʻokuʻu ʻana o Qt 3;
  • Hoʻohui i nā mea hana no ka hoʻoponopono ʻana i nā waiwai pili i nā kiʻi i ka manawa hōʻuluʻulu, e like me ka hoʻololi ʻana i nā kiʻi PNG i loko o nā mea i hoʻopaʻa ʻia a i ʻole ka hoʻololi ʻana i nā shaders a me nā meshes i loko o nā format binary optimized no nā lako kikoʻī;
  • Hoʻokomo i kahi ʻenekini hoʻohui no nā kumumanaʻo a me nā ʻano, e ʻae iā ʻoe e hoʻokō i ke ʻano o nā noi e pili ana i nā Qt Widgets a me Qt Quick, maoli i nā ʻano pūnaewele kelepona a me nā papa kuhikuhi;
  • Hoʻohui i nā mea hana no ka hana ʻana i kahi mea hoʻohana. No ka pale ʻana i ka hana hou ʻana a me ka hoʻopau ʻana i ka hāʻawi ʻana i ʻelua mau huahana like ʻole, manaʻo ʻia e hoʻohui ʻia ka hana o Qt 3D Studio i loko o Qt Design Studio, ʻo ka hapa nui o nā subsystems a me ka hoʻolālā no ka hoʻopili ʻana i nā plugins i kūkulu ʻia ma ke kumu code like. Qt Mea Hana.
    Hoʻolālā pū ʻo Qt Design Studio e hāʻawi i ka hoʻohui kiʻekiʻe kiʻekiʻe me nā pūʻolo hana ʻike e like me Photoshop, Sketch, Illustrator, Maya a me 3D Max. ʻO nā ʻōlelo koʻikoʻi i kākoʻo ʻia i ka mea hana hoʻomohala hui ʻia ʻo C ++, QML a me Python. ʻO ka hui pū ʻana, ʻo ia ka hiki ke komo i nā mea hana hoʻolālā interface mai Qt Creator, a hāʻawi i nā mea hoʻolālā interface me nā mana mai nā mea hana hoʻomohala, no ka laʻana, ka hoʻohui ʻana i kahi papahana a i ʻole ka hoʻāʻo ʻana i kahi noi ma kahi hāmeʻa;

  • Ua hoʻoholo ʻia e hoʻohana iā CMake ma kahi o QMake e like me ka ʻōnaehana kūkulu. E mau ke kākoʻo no ke kūkulu ʻana i nā noi me QMake, akā e kūkulu ʻia ʻo Qt ponoʻī me ka hoʻohana ʻana iā CMake. Ua koho ʻia ʻo CMake no ka mea ua hoʻohana nui ʻia kēia hāmeʻa ma waena o nā mea hoʻomohala papahana C++ a kākoʻo ʻia i nā wahi hoʻomohala hoʻohui. Ka hoʻomohala ʻana o ka ʻōnaehana hui Qbs, i ʻōlelo ʻia he pani no QMake, hoʻopau ʻia;
  • Hoʻololi i ka maʻamau C++17 i ka wā o ka hoʻomohala ʻana (ua hoʻohana mua ʻia ʻo C++98). Hoʻolālā ʻo Qt 6 e hoʻokō i ke kākoʻo no nā hiʻohiʻona C ++ hou, akā me ka nalowale ʻole o ka hoʻohālikelike ʻana me ke code e pili ana i nā kūlana hoʻoilina.
  • Hiki ke hoʻohana mai C++ i kekahi o nā hana i hāʻawi ʻia no QML a me Qt Quick. ʻO ka mea nui, e hōʻike ʻia kahi ʻōnaehana waiwai hou no QObject a me nā papa like. E hoʻohui ʻia kahi ʻenekini no ka hana ʻana me nā mea paʻa mai QML i ke kumu Qt, kahi e hoʻemi ai i ka ukana a me ka hoʻohana ʻana i ka hoʻomanaʻo no ka hoʻopaʻa ʻana a hoʻolako iā lākou i nā wahi āpau o Qt, ʻaʻole wale ʻo Qt Quick;
  • Hoʻomau ka hana e hoʻonui i ke kākoʻo no nā ʻōlelo ʻē aʻe e like me Python a me WebAssembly;
  • Hoʻoponopono hou ʻana ma ka wāwahi ʻana i nā ʻāpana liʻiliʻi a hoʻemi i ka nui o ka huahana i lalo. E hāʻawi ʻia nā mea hana hoʻomohala a me nā ʻāpana maʻamau e like me nā mea hoʻohui i puʻunaue ʻia ma o ka hale kūʻai papa inoa hou. Hoʻohui ʻia i Qt mai nā mea hoʻomohala ʻaoʻao ʻekolu, ʻelua a me ka uku ʻole, e ʻae ʻia no ka hāʻawi ʻana.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka