Ієрархія віджетів в u ++

Відео: Qt - Компонування віджетів 1 (для початківців)

Ієрархія віджетів в U ++
Важливо розуміти, що редактор компоновок не є повноцінним візуальним редактором інтерфейсу, таким як QtDesigner або Glade. Він дозволяє задати імена і відносні положення віджетів одного рівня ієрархії (наприклад, в простому діалоговому вікні або на одній сторінці віджету з закладками) і не більше того. Всі властивості віджетів (крім найпростіших, таких як напис на кнопці) і логіка їх взаємодії прописуються вручну в коді програми. І це не наслідок ліні розробників, а відображення ідеології U ++.




Справа в тому, що ієрархічні відносини віджетів в U ++ реалізовані зовсім не так, як, наприклад, в Qt. Уявімо, що на формі розміщений віджет TabCtrl з закладками. В Qt в класі форми визначені поспіль і TabCtrl, і його закладки, і все віджети всередині закладок, незважаючи на їх ієрархію. В Qt кожен віджет зберігає список покажчиків на своїх нащадків, так що ієрархія визначена не на рівні класів, а на рівні самих віджетів. В U ++ все навпаки. Ієрархія визначена виключно на рівні класів. Кожна закладка - це окремий клас, який містить лише віджети, що знаходяться всередині цієї закладки. Самі екземпляри закладок входять в клас, успадкований від TabCtrl, а його екземпляр в свою чергу -в клас головного вікна. Приклад з офіційної документації дозволяє краще зрозуміти ці «ідеологічні відмінності» (http: // ultimatepp.org/www$uppweb$vsqt$ru-ru.html).

Ієрархія віджетів в U ++

Очевидний недолік підходу застосованого в U ++ - неможливість перекомпоновувати віджети «на льоту», просто міняючи їх предків (строго кажучи, в U ++ можна створювати і видаляти віджети динамічно під час виконання програми, але при цьому доводиться забути про lay-файлах і здійснювати трудомістку компоновку вручну ). Очевидне ж перевага - можливість задіяти механізм шаблонів при створенні інтерфейсу на етапі компіляції, що дозволяє домогтися надзвичайно компактного і легко читається коду.

ІНШЕ

Класи в lyx фото

Класи в lyx

Відео: Emirates A380 First Class Suites, HD Experience Налаштування документа в LyX Перше, що потрібно зробити при…

Google now launcher фото

Google now launcher

Відео: Google Now Launcher Review Так, є дійсно вдалі фірмові оболонки, але на додачу до них занадто часто йдуть тонни…

Juce: враження і висновки фото

Juce: враження і висновки

Відео: Малайзійка на підлогу шишечки - NASTY Juice! Бібліотека Juce виробляє двояке враження. Багато її можливості…

Інші можливості u ++ фото

Інші можливості u ++

Відео: Збираємо Docker-образи швидко і зручно з dapp (Флант, Highload ++ 2016) U ++ - дуже багатий тулку і обговоренню…

Juce: вкладені компонування фото

Juce: вкладені компонування

вкладені компонування У Juce використовується ідеологія, розглянута в попередній статті по U ++, - ієрархія віджетів…

Використовуємо the jucer фото

Використовуємо the jucer

Відео: Соковижималка Novis Vitajuicer Візуальний редактор компоновок The Jucer Як ми вже переконалися, розміщувати…

Знайомство з ultimate ++ фото

Знайомство з ultimate ++

Відео: Початок роботи в VisualStudio 2013 - корисні поради новачкові При створенні GUI-додатків для Linux вибір тулкіта…

Ultimate ++: перша програма фото

Ultimate ++: перша програма

Відео: Уроки C # (C sharp) | # 3 - Перша програма на C # Перейдемо до реального прикладу. Напишемо просту марну…

» » Ієрархія віджетів в u ++