Klompok KDAB minangka konsultasi piranti lunak kanggo aplikasi Qt, C ++ lan OpenGL kanggo macem-macem platform (desktop, embedded lan seluler), saliyane iku nyedhiyakake tutor kanggo ngembangake aplikasi Qt saka awal lan kanggo mindhah kabeh pigura populer menyang Qt.
Swara taun, KDAB wis nyumbang lan mbiayai pangembangan QDockWidget. Nanging amarga pangowahan lan perbaikan bug mbutuhake sawetara dina kanggo nggunakake, nggunakake QdockWidget, Ternyata ora dadi pilihan sing apik, mula kelairan KDDockWidgets.
KDDockWidgets yaiku framework docking canggih kanggo QDockWidgets, kanthi nggunakake fungsi tambahan kanthi nambah fungsi sing ora didukung QDockWidgets.
QdockWidget asli nggabungake kode GUI kanthi logika karo negara, apa nggawe angel banget kanggo maju karo fitur anyar, sing nyebabake kerumitan gedhe ing implementasine ing macem-macem platform. Amarga iku komponen dhasar saka seri antarmuka pangguna grafis, kanthi iki sampeyan bisa mindhah kabeh elemen jendela (toolbar, grup widget, lsp) ing endi wae sing sampeyan karepake.
Nanging, KDAB ujar manawa pangopènan kode QDockWidgets ora gampang banget, nalika komentar:
KDDockWidgets lair amarga kabutuhan kanggo njaga kewarasan sawise nggarap rong proyek sing butuh kustomisasi sing akeh. Siji ing ngendi kita nyoba kerja langsung ing hulu nanging tingkat regresi pungkasane kakehan.
Lan liyane nalika aku njupuk rute nggunakake API pribadi, acara tikus palsu, lan filter acara, sing wiwitane apike, nanging pungkasane dadi jagad lara. Uga, klien dadi luwih kreatif kanthi panjaluk, mula jelas yen kita butuh kerangka dock sing luwih apik.
Masalah utama yaiku desaine, cukup monolitik nanging bisa dikonfigurasi (kita bisa milih fungsi sing kasedhiya kanggo pangguna, sanajan mung sawetara wong sing nindakake animasi), kanthi kode spaghetti (kanthi seneng nyampur logika lan komponen komponen). Mula, ana pangowahan sing bisa nyebabake regresi sing akeh.
Pramila KDAB mutusake nggawe KDDockWidgets, kanthi cara ngupayakake nyederhanakake desain QDockWidgets, nalika nggampangake adaptasi karo kahanan tartamtu.
KDDockWidgets nyedhiyakake fungsi ing ngisor iki:
- Bisa nggawe widget ing jendela sing ngambang lan dock klompok kasebut menyang jendela utama
- Dock menyang jendhela apa wae, ora mung jendela utama
- Docking menyang tengah jendela utama
- Dhukungan kanggo tab sing bisa dicopot ing widget tengah ing jendela utama
- Bisa nyopot tab saka garis tab ing area docking
- Kemampuan kanggo nggabungake sawetara tab kanthi nggabungake macem-macem komponen.
- Wenehi widget pitulung internal supaya pangguna bisa ngatur utawa nyedhiyakake dhewe.
- Klompok komponen bisa bebas ngalih saka jendhela eksternal (sing mung ngemot klompok komponen iki) menyang jendela utama (fitur sing sebagian diterapake ing Qt 5.10).
- Ngatur widget tab
- Ngatur bar judhul
- Ngatur pigura jendhela
- Saliyane nyoroti manawa pangowahan utama yaiku tambahan indikator sing tepat kanggo mbusak elemen saka GUI, saliyane kasunyatan manawa pemahaman widget tengah ilang, amarga wis ora ana elemen tartamtu maneh.
Organisasi anyar kanthi jelas misahake logika saka antarmuka grafis, dadi runtime sing ndasari yaiku bisa gampang digunakake maneh kanggo antarmuka Qt Quick (sing pungkasane diarepake). Iki uga gampang nggawe antarmuka, pangguna bisa menehi widget dhewe kanggo bagean antarmuka apa wae.
Uga, KDDockWidgets dimaksudake kanggo dadi kerangka kerja, dadi sampeyan bisa gampang ngilangi antarmuka kanggo nyedhiyakake tampilan lan prilaku khusus. KDDockWidgets minangka kerangka sumber terbuka, sing ana ing sangisore lisensi GPLv2 lan GPLv3.
Kode KDDockWidgets uga demo kasedhiya Ing link ing ngisor iki.
Dadi pisanan komentar