Qt 6 magwiridwe antchito asindikizidwa

Lars Knoll, mlengi wa injini ya KHTML, woyang'anira polojekiti ya Qt Project komanso director director a Qt Company, ndinauza za mapulani opangira nthambi yofunikira ya Qt framework. Ntchito ya nthambi ya Qt 5.14 ikamalizidwa, chitukuko chidzayang'ana kwambiri kukonzekera kutulutsidwa kwa Qt 6, yomwe ikuyembekezeka kumapeto kwa 2020.

Qt 6 idzapangidwa ndi diso kuti zitsimikizidwe kuti zimagwirizana ndi Qt 5, koma mavuto aumwini angabwere, popeza kusintha kwapangidwe kokonzekera ndi kuyeretsa sikungatheke kukhazikitsidwa popanda kutaya mlingo wina wogwirizana. Kuti kusinthaku kukhale kosavuta, zina za Qt 6 zakonzedwa kuti ziphatikizidwe mu mawonekedwe ochepetsedwa ngati gawo la kutulutsidwa kwa Qt 5.14 ndi Qt 5.15 LTS. Zida zidzakonzedwanso kuti zichepetse kusamuka kupita ku Qt 6.

Zina mwa zolinga zazikulu za nthambi yotsatilayi ndikupangitsa kuti magwiridwe antchito agwirizane ndi zofunikira za 2020, kuyeretsa ma code komanso kupangitsa kuti ntchitoyo ikhale yosavuta. Zosintha zomwe zikuyembekezeka:

  • Kusintha kwakukulu kwa QML:
    • Thandizo lamphamvu lolemba.
    • Kutha kuphatikiza QML kukhala C++ yoyimira ndi makina amakina.
    • Kupanga chithandizo chonse cha JavaScript kukhala chosankha (kugwiritsa ntchito injini ya JavaScript yodzaza ndi zonse kumafuna zinthu zambiri, zomwe zimalepheretsa kugwiritsa ntchito QML pazida monga ma microcontrollers).
    • Kukana kumasulira mu QML.
    • Kugwirizana kwa ma data opangidwa mu QObject ndi QML (kuchepetsa kugwiritsa ntchito kukumbukira ndikufulumizitsa kuyambitsa).
    • Kuchoka pakupanga kwanthawi yayitali kwamapangidwe a data m'malo mwa kupanga compile-time.
    • Kubisa zigawo zamkati pogwiritsa ntchito njira zapadera ndi katundu.
    • Kuphatikizana bwino ndi zida zachitukuko zowunikiranso ndikuphatikiza kuzindikira zolakwika za nthawi;
  • Kuonjezera wosanjikiza watsopano, Rendering Hardware Interface (RHI), kuti apereke kugwiritsa ntchito mosasunthika kwa ma API ojambula osiyanasiyana, kuphatikiza OpenGL, Vulkan, Metal ndi Direct 3D (kale Qt inali OpenGL-okha). Zonse zomwe zilipo zidzasinthidwa kuti zigwiritse ntchito RHI, kuphatikizapo QPainter, Qt Quick Scenegraph ndi Qt3D. Ikukonzekeranso kuwonjezera gawo la Zida za Qt Shader kuti lithandizire zilankhulo zosiyanasiyana zachitukuko cha shader ndikupereka kuphatikiza kwa shaders pomanga komanso panthawi yothamanga;
  • Kukonzekera kwa API yogwirizana kuti apange mawonekedwe olumikizirana ndi ogwiritsa ntchito omwe amaphatikiza zithunzi za 2D ndi 3D. API yatsopano ikulolani kuti mugwiritse ntchito QML kutanthauzira mawonekedwe a 3D osagwiritsa ntchito mtundu wa UIP. Mawonekedwe atsopano ophatikizira zomwe zili mu 3D ndi Qt Quick akukonzekera kuthetsa mavuto monga kukweza kwakukulu kophatikiza QML ndi zomwe zili kuchokera ku Qt 3D kapena 3D Studio, komanso kulephera kulumikiza makanema ojambula ndi masinthidwe amtundu pakati pa 2D ndi 3D. Kuphatikizika kwa nested 2D ndi 3D kudzakhazikitsidwa pogwiritsa ntchito injini yatsopano yomasulira. Kuwonetseratu kwatsopano kwa Qt Quick ndi chithandizo cha 3D chikuyembekezeka pakutulutsidwa kwa Qt 5.14;
  • Kuwonjezera zida zosinthira zinthu zokhudzana ndi zithunzi panthawi yophatikizira, monga kutembenuza zithunzi za PNG kukhala zomangika kapena kusintha ma shader ndi ma meshes kukhala mawonekedwe a binary okometsedwa a hardware yeniyeni;
  • Kuyika injini yolumikizana yamitu ndi masitayelo, kukulolani kuti mukwaniritse mawonekedwe a mapulogalamu potengera Qt Widgets ndi Qt Quick, obadwa pamapulatifomu osiyanasiyana am'manja ndi apakompyuta;
  • Kulumikizana kwa zida zopangira mawonekedwe ogwiritsa ntchito. Pofuna kupewa kubwereza kwa magwiridwe antchito ndikusiya kutumiza zinthu ziwiri zosiyana, zikuyembekezeka kuti magwiridwe antchito a Qt 3D Studio aphatikizidwa mu Qt Design Studio, ambiri omwe ma subsystem awo ndi chimango cholumikizira mapulagini amamangidwa pama code omwewo monga Qt Mlengi.
    Qt Design Studio ikukonzekeranso kupereka kuphatikiza kwapamwamba kwambiri ndi mapaketi opanga zinthu monga Photoshop, Sketch, Illustrator, Maya ndi 3D Max. Zilankhulo zazikulu zomwe zimathandizidwa pagulu lachitukuko logwirizana ndi C++, QML ndi Python. Kugwirizana kumatanthauzanso kuthekera kopeza zida zopangira mawonekedwe kuchokera kwa Qt Creator, ndikupatsanso opanga mawonekedwe ndi kuthekera kochokera ku zida zamapulogalamu, mwachitsanzo, kupanga projekiti kapena kuyesa pulogalamu pa chipangizo;

  • Zinaganiza zogwiritsa ntchito CMake m'malo mwa QMake ngati njira yomanga. Thandizo lomanga mapulogalamu pogwiritsa ntchito QMake likhalabe, koma Qt yokha idzamangidwa pogwiritsa ntchito CMake. CMake idasankhidwa chifukwa chida ichi chimagwiritsidwa ntchito kwambiri pakati pa opanga mapulojekiti a C ++ ndipo chimathandizidwa m'malo ambiri ophatikizika achitukuko. Kupititsa patsogolo kachitidwe ka msonkhano wa Qbs, womwe umadzinenera kuti ulowa m'malo mwa QMake, anasiya;
  • Kusintha kupita ku C++17 muyezo panthawi yachitukuko (kale C++98 idagwiritsidwa ntchito). Qt 6 ikukonzekera kukhazikitsa chithandizo chazinthu zambiri zamakono za C++, koma osataya kuyanjana kwa m'mbuyo ndi ma code otengera miyezo yakale.
  • Kutha kugwiritsa ntchito kuchokera ku C++ zina zomwe zimaperekedwa pa QML ndi Qt Quick. Makamaka, dongosolo latsopano la katundu la QObject ndi makalasi ofanana adzaperekedwa. Injini yogwira ntchito ndi zomangira idzaphatikizidwa kuchokera ku QML kupita ku Qt core, zomwe zidzachepetse katundu ndi kukumbukira kukumbukira zomangira ndikuzipangitsa kuti zikhalepo kumadera onse a Qt, osati Qt Quick;
  • Kupitiliza ntchito yokulitsa thandizo la zilankhulo zina monga Python ndi WebAssembly;
  • Kukonzanso pogawanika kukhala zigawo zing'onozing'ono ndi kuchepetsa kukula kwa chinthu chomwe chili pansi. Zida zopangira mapulogalamu ndi zida zachikhalidwe zidzaperekedwa monga zowonjezera zomwe zimagawidwa kudzera mu sitolo yatsopano yamakalata. Zowonjezera ku Qt kuchokera kwa opanga gulu lachitatu, zaulere komanso zolipira, zidzalandiridwanso kuti zigawidwe.

Source: opennet.ru

Kuwonjezera ndemanga