KDDockWidgets, uzlabota QDockWidget ieviešanas sistēma

KDQDock logrīks

Grupa KDAB ir programmatūras konsultācijas Qt, C ++ un OpenGL lietojumprogrammām dažādām platformām (galddatoriem, iegultām un mobilām) nodrošina apmācību, lai izstrādātu Qt lietojumprogrammas no jauna un visu populāro kadru pārsūtīšanā uz Qt.

Gadu gaitā KDAB ir veicinājis un finansējis QDockWidget izstrādi. Tā kā izmaiņu un kļūdu labojumu ieviešana prasīja daudzas dienas, izmantojot QdockWidget, Izrādījās, ka tas nav labs variants, tādējādi radot KDDockWidgets.

KDDockWidgets ir uzlabota dokošanas sistēma QDockWidgets, ar kuru tā paplašina lietošanu, pievienojot funkcijas, kuras QDockWidgets neatbalsta.

QdockWidget dabiski apvieno GUI kodu ar loģiku ar stāvokli, ko padara ļoti grūti virzīties uz priekšu ar jaunām funkcijām, kas rada ļoti sarežģītu tā ieviešanu dažādās platformās. Tā kā tā ir grafisko lietotāja saskarņu sērijas pamatkomponents, ar to jūs varat pārvietot visus loga elementus (rīkjoslas, logrīku grupas utt.) Kur vien vēlaties.

Tomēr, KDAB apgalvoja, ka QDockWidgets koda uzturēšana nav ļoti vienkārša, jo viņš komentē, ka:

KDDockWidgets radās manā vajadzībā saglabāt saprātu pēc tam, kad esmu strādājis pie diviem projektiem, kuriem bija nepieciešama plaša pielāgošana. Tāds, kurā mēs mēģinājām strādāt tieši augšpus straumes, bet regresijas ātrums galu galā bija pārāk liels.

Un vēl viens, kur es izvēlējos privāto API, viltus peles notikumu un notikumu filtru izmantošanu, kas sākotnēji šķita laba ideja, bet galu galā bija sāpju pasaule. Arī mūsu klienti arvien radošāk rīkojās ar saviem pieprasījumiem, tāpēc bija skaidrs, ka mums ir nepieciešama labāka dokošanas sistēma.

Galvenā problēma ir tā dizains, diezgan monolīts, bet konfigurējams (animācijai varam izvēlēties lietotājam pieejamās funkcijas, pat ja to dara maz cilvēku) ar spageti kodu (jautri sajaucot loģiku un komponentu stāvokli). Tāpēc jebkuras izmaiņas var radīt lielu skaitu regresiju.

Tāpēc KDAB ir nolēmis izveidot KDDockWidgets, ar kuru tā cenšas ievērojami vienkāršot QDockWidgets dizainu, vienlaikus atvieglojot tā pielāgošanos konkrētām situācijām.

KDDockWidgets nodrošina šādas funkcijas:

  • Spēja piestiprināt logrīkus peldošā logā un piestiprināt šo grupu galvenajā logā
  • Dock jebkuram logam, ne tikai galvenajam logam
  • Docking uz galvenā loga centru
  • Atbalsts noņemamām cilnēm galvenajā logā galvenajā logrīkā
  • Spēja atdalīt cilnes no cilnes joslas dokošanas zonā
  • Spēja apvienot vairākas cilnes, apvienojot vairākas sastāvdaļas.
  • Iekšējo palīdzības logrīku eksponēšana, lai lietotājs varētu tos pielāgot vai nodrošināt savus.
  • Komponentu grupas var brīvi pāriet no ārējā loga (kurā ir tikai šī komponentu grupa) uz galveno logu (iezīme, kas daļēji ieviesta Qt 5.10).
  • Pielāgojiet cilnes logrīkus
  • Pielāgojiet virsraksta joslas
  • Pielāgot logu rāmjus
  • Papildus tam, ka tiek uzsvērts, ka galvenās izmaiņas ir precīzu rādītāju pievienošana elementu noņemšanai no GUI, papildus tam, ka centrālā logrīka jēdziens pazūd, jo kā tāds tas vairs nav īpašs elements.

Jaunā organizācija skaidri nošķir loģiku no grafiskā interfeisa, lai pamatā esošais izpildlaiks būtu var viegli atkārtoti izmantot Qt Quick saskarnēs (kas galu galā ir sagaidāms). Tas arī atvieglo saskarnes pielāgošanu, lietotājs var nodrošināt savus logrīkus jebkurai saskarnes daļai.

Turklāt, KDDockWidgets ir paredzēts kā ietvars, lai jūs varētu viegli ignorēt saskarnes lai nodrošinātu izskatu un izturēšanos pēc pasūtījuma. KDDockWidgets ir atvērtā koda sistēma, kas ir saskaņā ar GPLv2 un GPLv3 licencēm.

Ir pieejams KDDockWidgets kods, kā arī tā demonstrācija Šajā saitē.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.