KDDockWidgets, napredno izvedbeno ogrodje za QDockWidget

KDQDockWidget

Skupina KDAB je svetovalno podjetje za programsko opremo za aplikacije Qt, C++ in OpenGL za različne platforme (namizne, vgrajene in mobilne), poleg tega pa nudi tudi mentorstvo za razvoj aplikacij Qt od začetka in pri migraciji vseh priljubljenih ogrodij na Qt.

Skozi leta je KDAB prispeval k razvoju QDockWidget in ga financiral . Ker pa je uvedba sprememb in popravkov napak trajala več dni, se je uporaba QDockWidget izkazala za slabo izbiro, kar je privedlo do nastanka KDDockWidgets.

KDDockWidgets je napreden ogrodje za priklop QDockWidgets , ki razširja njegovo uporabo z dodajanjem funkcij, ki jih QDockWidgets ne podpira.

QdockWidget izvorno združuje kodo grafičnega uporabniškega vmesnika s stočno logiko, zaradi česar je dodajanje novih funkcij zelo težko in povzroča znatno kompleksnost implementacije na različnih platformah. Kot osrednja komponenta več grafičnih uporabniških vmesnikov omogoča premikanje celotnih elementov okna (orodnih vrstic, skupin gradnikov itd.), kamor koli želite.

Vendar pa je KDAB trdil, da vzdrževanje kode QDockWidgets ni zelo enostavno, in navedel, da:

KDDockWidgets se je rodil iz moje potrebe po ohranjanju zdrave pameti, potem ko sem delal na dveh projektih, ki sta zahtevala obsežne prilagoditve. Takšen, pri katerem smo poskušali delati neposredno navzgor, vendar je bila stopnja nazadovanja prevelika.

In še ena, pri kateri sem šel po poti uporabe zasebnih API-jev, lažnih dogodkov miške in filtrov dogodkov, kar se je sprva zdelo dobra ideja, na koncu pa svet bolečine. Naše stranke so postajale vse bolj kreativne s svojimi zahtevami, zato je bilo jasno, da potrebujemo boljši okvir za priklop.

Glavna težava je njegova zasnova , ki je precej monolitna, a hkrati prilagodljiva (za animacije lahko izberemo funkcije, ki so na voljo uporabniku, tudi če jih le malo ljudi uporablja), s kodo špageti (ki srečno meša logiko in stanje komponent). Zato lahko vsaka sprememba ustvari veliko število regresij.

Zato se je KDAB odločil ustvariti KDDockWidgets , katerega cilj je močno poenostaviti zasnovo QDockWidgets in hkrati olajšati njegovo prilagajanje določenim situacijam.

KDDockWidgets ponuja naslednje funkcije:

  • Možnost priklopitve pripomočkov v plavajočem oknu in priklop te skupine v glavno okno
  • Pristanite na katero koli okno, ne samo na glavno okno
  • Pristanišče na sredino glavnega okna
  • Podpora za snemljive zavihke v osrednjem pripomočku v glavnem oknu
  • Možnost ločevanja jezičkov iz vrstice jezičkov v priključnem območju
  • Sposobnost kombiniranja več zavihkov s kombiniranjem različnih komponent.
  • Izpostavljanje notranjih pripomočkov za pomoč, tako da jih lahko uporabnik prilagodi ali zagotovi svoje.
  • Skupine komponent lahko prosto prehajajo iz zunanjega okna (ki vsebuje samo to skupino komponent) v glavno okno (funkcija, delno implementirana v Qt 5.10).
  • Prilagodite gradnike zavihkov
  • Prilagodite naslovne vrstice
  • Prilagodite okenske okvire
  • Poleg poudarjanja, da je glavna sprememba dodajanje natančnih kazalnikov za odstranjevanje elementov iz grafičnega uporabniškega vmesnika, poleg dejstva, da pojem osrednjega pripomočka izgine, saj kot tak ni več poseben element.

Nova organizacija jasno ločuje logiko od grafičnega vmesnika , tako da je mogoče osnovni izvajalni mehanizem enostavno ponovno uporabiti za vmesnike Qt Quick (kar je navsezadnje pričakovano). Prav tako olajša prilagajanje vmesnika; uporabniki lahko za kateri koli del vmesnika ustvarijo svoje gradnike.

Poleg tega je KDDockWidgets zasnovan kot ogrodje, tako da lahko preprosto prepišete vmesnike in zagotovite prilagojeno delovanje in videz. KDDockWidgets je ogrodje z odprto kodo, licencirano pod licencama GPLv2 in GPLv3.

Koda KDDockWidgets in njena predstavitev sta na voljo na naslednji povezavi.


Dodaj kot prednostni vir v Googlu