KDDockWidgets, e fortgeschrattenen Implementéierungsrahmen fir QDockWidget

KDQDockWidget

De Grupp KDAB ass eng Software Berodung fir Qt, C ++ an OpenGL Uwendungen fir verschidde Plattformen (Desktop, embedded a mobil), zousätzlech dozou bitt Nohëllef fir Qt Uwendungen vun Ufank un z'entwéckelen an beim Transfere vun all populäre Frames op Qt.

Am Laaf vun den Joeren, KDAB huet d'Entwécklung vu QDockWidget bäigedroen a finanzéiert. Awer well Ännerungen a Fehlerfehler vill Deeg gedauert hunn fir ze realiséieren, mat QdockWidget, Et huet sech erausgestallt net eng gutt Optioun ze sinn, sou datt d'Gebuert vu KDDockWidgets gëtt.

KDDockWidgets ass e fortgeschrattenen Docking Framework fir QDockWidgets, mat deem et seng Benotzung erweidert andeems Funktiounen derbäi sinn déi QDockWidgets net ënnerstëtzen.

QdockWidget kombinéiert natiirlech GUI Code mat Logik mat Staat, wat mécht et ganz schwéier mat neie Featuren no vir ze kommen, wat grouss Komplexitéit a senger Ëmsetzung bannent de verschiddene Plattforme verursaacht. Well et e Basiskomponent vun enger Zuel vu grafeschen User-Interfaces ass, domat kënnt Dir ganz Fënsterelementer (Toolbar, Widgetgruppen, asw.) Réckele wou Dir wëllt.

Awer, De KDAB argumentéiert datt QDockWidgets Code Maintenance net ganz einfach ass, wéi hien dat kommentéiert:

KDDockWidgets gouf gebuer aus mengem Bedierfnes meng Gesondheet ze erhalen nodeems ech un zwee Projete geschafft hunn déi extensiv Upassung erfuerdert. Eng wou mir probéiert hunn direkt upstream ze schaffen awer den Taux vu Regressioun war schlussendlech ze vill.

An eng aner wou ech de Wee gemaach hunn fir privat APIen, gefälscht Mausevenementer an Eventfilter ze benotzen, déi als éischt eng gutt Iddi schéngen, awer um Enn eng Welt vu Péng sinn. Och goufen eis Clienten méi kreativ mat hiren Ufroen, also war et kloer datt mir e bessert Docking Framework brauchen.

Den Haaptprobleem ass säin Design, zimmlech monolithesch awer konfiguréierbar (mir kënnen d'Funktioune fir de Benotzer verfügbar auswielen, och wa wéineg Leit dat maachen, fir Animatiounen), mat Spaghettikode (lëschteg Mëschungslogik a Komponentestat). Dofir kann all Ännerung eng grouss Zuel vu Regressiounen erstellen.

Dofir huet KDAB decidéiert KDDockWidgets ze kreéieren, mat deem et de QDockWidgets Design staark vereinfacht, wärend seng Upassung u bestëmmte Situatiounen erliichtert gëtt.

KDDockWidgets bitt déi folgend Funktiounen:

  • Kënnen Widgets an enger schwammender Fënster docken an déi Grupp an d'Haaptfënster docken
  • Dock un all Fënster, net nëmmen d'Haaptfënster
  • Verankert am Zentrum vun der Haaptfenster
  • Ënnerstëtzung fir abnehmbar Tabs am zentrale Widget an der Haaptfenster
  • Kënnen Tabs vun enger Tab Bar an engem Docking Beräich ofhuelen
  • Fäegkeet fir verschidde Tabs ze kombinéieren andeems Dir verschidde Komponenten kombinéiert.
  • Intern Hëllef Widgets ausstellen, sou datt de Benotzer se personaliséiere kann oder hir eege liwwert.
  • Komponentegruppe kënne fräi vun enger externer Fënster wiesselen (déi nëmmen dës Komponentengrupp enthält) an d'Haaptfënster (eng Feature deelweis am Qt 5.10 implementéiert).
  • Personaliséiert Tab Widgets
  • Upassung Titel Baren
  • Personaliséiert Fënsterrahmen
  • Nieft dem Highlight datt d'Haaptännerung d'Additioun vu präzise Indikatoren ass fir Elementer aus der GUI ze läschen, zousätzlech zu der Tatsaach datt d'Notioun vum zentrale Widget verschwënnt, well et ass net méi e spezifescht Element.

Déi nei Organisatioun trennt d'Logik kloer vun der grafescher Interface, sou datt d'Basisgrondzäit ass kann einfach fir Qt Quick Interfaces weiderbenotzt ginn (wat schlussendlech erwaart gëtt). Et mécht et och einfach d'Interface ze personaliséieren, de Benotzer kann hir eege Widgets fir all Deel vun der Interface ubidden.

Och, KDDockWidgets soll e Kader sinn, sou datt Dir d'Interfaces einfach iwwerschreiwe kënnt fir personaliséiert Erscheinung a Verhalen ze bidden. KDDockWidgets ass en Open Source Framework, déi ënner de GPLv2 a GPLv3 Lizenzen ass.

De KDDockWidgets Code souwéi eng Demo dovu sinn verfügbar An de folgende Link.


Den Inhalt vum Artikel hält sech un eis Prinzipie vun redaktionnell Ethik. Fir e Feeler ze mellen klickt hei.

Gitt d'éischt fir ze kommentéieren

Gitt Äre Kommentar

Är Email Adress gëtt net publizéiert ginn. Néideg Felder sinn markéiert mat *

*

*

  1. Responsabel fir d'Daten: Miguel Ángel Gatón
  2. Zweck vun den Donnéeën: Kontroll SPAM, Kommentarmanagement.
  3. Legitimatioun: Är Zoustëmmung
  4. Kommunikatioun vun den Donnéeën: D'Donnéeë ginn net un Drëttubidder matgedeelt ausser duerch legal Verpflichtung.
  5. Datenspeicher: Datebank gehost vun Occentus Networks (EU)
  6. Rechter: Zu all Moment kënnt Dir Är Informatioun limitéieren, recuperéieren an läschen.