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 ішінара іске асырылған мүмкіндік) еркін ауыса алады.
  • Қойынды виджеттерін реттеңіз
  • Тақырып жолақтарын реттеңіз
  • Терезе жақтауларын реттеңіз
  • Негізгі өзгеріс элементтерді GUI-ден алып тастау үшін нақты индикаторларды қосу болып табылатындығымен қатар, орталық виджет ұғымы жоғалады, өйткені ол енді нақты элемент емес.

Жаңа ұйым логиканы графикалық интерфейстен нақты ажыратады, осылайша негізгі жұмыс уақыты болады Qt жылдам интерфейстері үшін оңай пайдалануға болады (бұл ақыр соңында күтілуде). Сондай-ақ, бұл интерфейсті теңшеуді жеңілдетеді, пайдаланушы интерфейстің кез келген бөлігі үшін өзінің виджеттерін ұсына алады.

Сонымен қатар, KDDockWidgets фреймворкке арналған, сондықтан сіз интерфейстерді оңай ауыстыра аласыз сыртқы келбеті мен мінез-құлқын қамтамасыз ету. KDDockWidgets - бұл ашық кодтық негіз, ол GPLv2 және GPLv3 лицензияларына жатады.

KDDockWidgets коды және оның демо нұсқасы қол жетімді Келесі сілтемеде.


Мақаланың мазмұны біздің ұстанымдарымызды ұстанады редакторлық этика. Қате туралы хабарлау үшін нұқыңыз Мұнда.

Бірінші болып пікір айтыңыз

Пікіріңізді қалдырыңыз

Сіздің электрондық пошта мекен-жайы емес жарияланады. Міндетті өрістер таңбаланған *

*

*

  1. Деректерге жауапты: Мигель Анхель Гатан
  2. Деректердің мақсаты: СПАМ-ны басқару, түсініктемелерді басқару.
  3. Заңдылық: Сіздің келісіміңіз
  4. Деректер туралы ақпарат: заңды міндеттемелерді қоспағанда, деректер үшінші тұлғаларға жіберілмейді.
  5. Деректерді сақтау: Occentus Networks (ЕО) орналастырған мәліметтер базасы
  6. Құқықтар: Сіз кез-келген уақытта ақпаратты шектей, қалпына келтіре және жоя аласыз.