KDDockWidgets, усъвършенствана рамка за внедряване на QDockWidget

KDQDockWidget

Групата KDAB е софтуерна консултантска програма за Qt, C ++ и OpenGL приложения за различни платформи (настолни, вградени и мобилни), в допълнение към това предоставя уроци за разработване на Qt приложения от нулата и при прехвърляне на всички популярни кадри в Qt.

През годините, KDAB допринесе и финансира развитието на QDockWidget. Но тъй като промените и корекциите на грешки отнеха много дни, за да се приложат, използвайки QdockWidget, Оказа се, че не е добър вариант, като по този начин се роди KDDockWidgets.

KDDockWidgets е усъвършенствана докинг рамка за QDockWidgets, с което разширява използването си, като добавя функции, които QDockWidgets не поддържат.

QdockWidget първоначално комбинира GUI код с логика със състояние, като прави много трудно движението напред с нови функции, което причинява голяма сложност при изпълнението му в различните платформи. Тъй като това е основен компонент на поредица от графични потребителски интерфейси, с него можете да премествате цели елементи на прозореца (ленти с инструменти, групи джаджи и т.н.), където пожелаете.

Въпреки това, KDAB твърди, че поддръжката на кода на QDockWidgets не е много лесна, тъй като той коментира, че:

KDDockWidgets се роди от нуждата ми да запазя разсъдъка си, след като съм работил по два проекта, които са изисквали обширна персонализация. Един, при който се опитахме да работим директно нагоре по течението, но степента на регресия в крайна сметка беше твърде голяма.

И още едно, когато поех по пътя на използването на частни API, фалшиви събития на мишката и филтри за събития, което в началото изглеждаше като добра идея, но в крайна сметка беше свят на болка. Освен това клиентите ни ставаха по-креативни с исканията си, така че беше ясно, че се нуждаем от по-добра рамка за докинг станция.

Основният проблем е неговият дизайн, доста монолитен, но конфигурируем (можем да изберем функциите, достъпни за потребителя, дори ако малко хора го правят, за анимации), с код за спагети (щастливо смесване на логика и състояние на компонента). Следователно всяка промяна може да създаде голям брой регресии.

Ето защо KDAB реши да създаде KDDockWidgets, с което се стреми значително да опрости дизайна на QDockWidgets, като същевременно улесни адаптирането му към определени ситуации.

KDDockWidgets предоставя следните функции:

  • Възможност за поставяне на джаджи в плаващ прозорец и прикачване на тази група към главния прозорец
  • Пристанете към всеки прозорец, не само до главния прозорец
  • Докинг до центъра на главния прозорец
  • Поддръжка на разглобяеми раздели в централната джаджа в главния прозорец
  • Възможност за отделяне на раздели от лента с раздели в докинг зона
  • Възможност за комбиниране на няколко раздела чрез комбиниране на различни компоненти.
  • Изложете вътрешни помощни джаджи, така че потребителят да може да ги персонализира или да предостави свои собствени.
  • Групите компоненти могат свободно да превключват от външен прозорец (който съдържа само тази група компоненти) към главния прозорец (функция, частично внедрена в Qt 5.10).
  • Персонализирайте приспособленията за раздели
  • Персонализирайте лентите със заглавия
  • Персонализирайте дограмата
  • В допълнение към подчертаването, че основната промяна е добавянето на точни индикатори за премахване на елементи от графичния интерфейс, в допълнение към факта, че идеята за централна джаджа изчезва, тъй като тя вече не е специфичен елемент.

Новата организация ясно разделя логиката от графичния интерфейс, така че основното време на изпълнение да е може лесно да се използва повторно за Qt Quick интерфейси (което в крайна сметка се очаква). Също така улеснява персонализирането на интерфейса, потребителят може да предостави свои собствени джаджи за всяка част от интерфейса.

Освен това, KDDockWidgets е предназначен да бъде рамка, така че лесно можете да замените интерфейсите за осигуряване на персонализиран външен вид и поведение. KDDockWidgets е рамка с отворен код, което е под лицензите GPLv2 и GPLv3.

Наличен е кодът на KDDockWidgets, както и демонстрация от него В следващия линк.


Съдържанието на статията се придържа към нашите принципи на редакторска етика. За да съобщите за грешка, щракнете върху тук.

Бъдете първите, които коментират

Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван.

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.