
Grupa KDAB je savjetnik za softver za Qt, C ++ i OpenGL aplikacije za različite platforme (stolne, ugrađene i mobilne), uz to pruža poduke za razvoj Qt aplikacija od nule i u prijenosu svih popularnih okvira u Qt.
Tijekom godina, KDAB je pridonio i financirao razvoj QDockWidgeta. Ali budući da je promjenama i ispravcima programskih pogrešaka trebalo puno dana da se provedu, koristeći QdockWidget, Pokazalo se da to nije dobra opcija, što je rodilo KDDockWidgete.
KDDockWidgets je napredni okvir za pristajanje za QDockWidgete, s kojim proširuje svoju upotrebu dodavanjem funkcija koje QDockWidgets ne podržavaju.
QdockWidget izvorno kombinira GUI kôd s logikom i stanjem, kao otežava napredovanje s novim značajkama, što uzrokuje veliku složenost u provedbi unutar različitih platformi. Budući da je osnovna komponenta niza grafičkih korisničkih sučelja, njime možete premještati cijele elemente prozora (alatne trake, grupe widgeta itd.) Gdje god želite.
Međutim, KDAB je tvrdio da održavanje QDockWidgets koda nije vrlo jednostavno, dok komentira da:
KDDockWidgets nastao je iz moje potrebe da sačuvam zdrav razum nakon što sam radio na dva projekta koja su zahtijevala opsežne prilagodbe. Onaj u kojem smo pokušali raditi izravno uzvodno, ali stopa regresije na kraju je bila prevelika.
I još jedan, gdje sam krenuo putem korištenja privatnih API-ja, lažnih događaja miša i filtara događaja, što se u početku činilo dobrom idejom, ali na kraju je postalo svijet boli. Također, naši su klijenti postajali kreativniji prema svojim zahtjevima, pa je bilo jasno da nam treba bolji okvir za pristajanje.
Glavni problem je njegov dizajn, prilično monolitan, ali podesiv (možemo odabrati funkcije koje su na raspolaganju korisniku, čak i ako to malo ljudi radi, za animacije), s kodom za špagete (sretno miješajući logiku i stanje komponenata). Stoga svaka promjena može stvoriti velik broj regresija.
Zbog toga je KDAB odlučio stvoriti KDDockWidgete, s kojim nastoji uvelike pojednostaviti dizajn QDockWidgeta, istovremeno olakšavajući njegovo prilagođavanje određenim situacijama.
KDDockWidgets pruža sljedeće funkcije:
- Biti u mogućnosti priključiti widgete u plutajući prozor i usidriti tu grupu u glavni prozor
- Pristanite na bilo koji prozor, ne samo na glavni prozor
- Pristajanje u središte glavnog prozora
- Podrška za odvojive kartice u središnjem widgetu unutar glavnog prozora
- Mogućnost odvajanja jezičaka od trake s pločicama u podnožju
- Mogućnost kombiniranja nekoliko kartica kombiniranjem različitih komponenata.
- Izložite interne widgete za pomoć kako bi ih korisnik mogao prilagoditi ili pružiti vlastite.
- Grupe komponenata mogu se slobodno prebaciti s vanjskog prozora (koji sadrži samo ovu skupinu komponenata) na glavni prozor (značajka djelomično implementirana u Qt 5.10).
- Prilagodite widgete kartice
- Prilagodite naslovne trake
- Prilagodite okvire prozora
- Uz naglašavanje da je glavna promjena dodavanje preciznih pokazatelja za uklanjanje elemenata iz GUI-a, uz činjenicu da pojam središnjeg widgeta nestaje, jer kao takav više nije specifičan element.
Nova organizacija jasno odvaja logiku od grafičkog sučelja, tako da je osnovno vrijeme izvođenja lako se mogu ponovno koristiti za Qt Quick sučelja (što se u konačnici i očekuje). Također olakšava prilagodbu sučelja, korisnik može osigurati vlastite widgete za bilo koji dio sučelja.
Osim toga, KDDockWidgets treba biti okvir, tako da možete lako nadjačati sučelja kako bi se osigurao prilagođeni izgled i ponašanje. KDDockWidgets je okvir otvorenog koda, koja je pod licencama GPLv2 i GPLv3.
Dostupan je KDDockWidgets kôd, kao i njegov demo U sljedećem linku.