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

Відео: Соковижималка Novis Vitajuicer

Використовуємо The Jucer
Візуальний редактор компоновок The Jucer
Як ми вже переконалися, розміщувати компоненти вікна вручну-справа невдячна. На щастя, всю чорну роботу можна покласти на «старий» Jucer, який є візуальним редактором інтерфейсу. Запустимо його і виберемо File - New component. Назвемо клас нового компонента MyMainComponent. Інші параметри необов`язково чіпати, але при необхідності можна задати батьківський клас, ініціалізацію полів в конструкторі і попросити Jucer згенерувати додаткові методи для реакції на різноманітні події. Перейдемо на вкладку «Subcomponents» - це і є візуальний редактор, що допомагає розміщувати різні віджети. Контекстне меню дозволяє вставляти стандартні віджети або будь-які призначені для користувача компоненти. Додамо на форму два поля введення і кнопку (див. Рис. Вище).

При виділенні компонента справа відкривається панель його властивостей. Всі вони інтуїтивно зрозумілі, крім властивостей x, y, width і height, які задають геометрію віджета. Поруч з ними є кнопки Mode, які відривають меню режиму розміщення.

Тут потрібно зробити невеличкий відступ. У Juce немає «гумовою» компонування за допомогою сайзер, як в GTK + або Qt. Замість цього положення віджету можна визначати в абсолютних величинах або щодо будь-якого іншого елемента. Логіка такого розміщення на перший погляд досить заплутана, але після декількох хвилин експериментування все стає на свої місця.

Наприклад, спробуємо зробити так, щоб кнопка завжди перебувала справа і мала фіксовану ширину, а поля введення розтягувалися по ширині разом з вікном. Встановлюємо режим властивості x для кнопки Absolute distance from right of parent і переміщаємо її до правого краю вікна. Тепер кнопка прив`язана до правої кромки вікна. Її ширина за замовчуванням встановлена в режим Absolute width, тобто вона зберігає ті розміри, які ми її поставили.

Займемося першим полем введення. За замовчуванням його положення відраховується від лівого краю вікна (Absolute distance from left of parent), що нам і потрібно, а ось ширина повинна бути не фіксованою, а залежною від ширини вікна. Встановимо режим поля width в Substracted from width of parent і растянем поле так, щоб залишився лише невеликий зазор до кнопки. Тепер відстані до лівого і правого краю вікна зафіксовані, а ширина змінюється разом з вікном. Оскільки ширина кнопки фіксована, то все працює як треба і віджети НЕ налазять один на одного.




Використовуємо The Jucer

Для другого поля введення можна вчинити так само, а можна встановити режим для width в Relative to textEditor, потім Percentage of width of textEditor і задати значення 100%. Тепер ширина другого поля завжди дорівнює ширині першого.




Виконавши View - Test Component, можна побачити нашу компоновку в дії і переконатися, що все працює як було задумано.

Вибравши File - Save as, зберігаємо компонент. The Jucer генерує файли .h і .cpp для класу MyMainComponent.

Файл MyMainComponent.cpp можна відкрити в The Jucer повторно, при цьому завантажиться створена компонування. Це досягається включенням в вихідний код спеціальних коментарів, які орієнтуються програмою і містять всі необхідні метадані. Подивившись на згенерований код (це легко зробити на вкладці Code preview) легко переконатися, що написати щось подібне вручну було б вкрай виснажливо. Основна «магія» укладена в методі resized (), який викликається при зміні розмірів вікна і потрібним чином вибудовує все віджети.

У створеному коді у всіх «стратегічних» місцях вставлені блоки такого типу:
// [UserPaint] Add your own custom painting code here ..
// [/ UserPaint]

Між такими коментарями (і тільки там!) Можна вставляти будь-який призначений для користувача код. Будь-які зміни в інших місцях будуть втрачені при наступному збереженні файлу в Jucer.



Набагато більше, ніж робота з The Jucer, Вас цікавлять ігри онлайн mmorpg (https://royalquest.ru/) за якими можна скоротати пару приємних годин? Що ж, тоді я рекомендую Вам зазирнути на royalquest.ru. Тут Ви зможете познайомитися з однією з найприкметніших MMORPG останнього часу - Royal Quest!

ІНШЕ

Як заміряти пластикові вікна фото

Як заміряти пластикові вікна

Ви вирішили замінити старе вікно? Тоді необхідно визначити, яке вікно вам потрібно (дерев`яне або пластикове), в якій…

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

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

Відео: Qt - Компонування віджетів 1 (для початківців) Важливо розуміти, що редактор компоновок не є повноцінним…

Обробка подій в juce фото

Обробка подій в juce

Відео: Уроки javascript | Урок №13 - Події і обробник подій Переважна більшість тулкіта для С ++ (Gtk +, Qt,…

Ultimate ++: theide фото

Ultimate ++: theide

Відео: N ++: Sigma Structure Symphony (SU-B-17-04) All Gold При кожному запуску TheIDE відкривається вікно вибору…

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

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

Відео: Scribus. Урок 5: Лінійки, сітка і напрямні У правому нижньому кутку головного вікна є дві кнопки і список. Одна…

Використання nepomuk фото

Використання nepomuk

NEPOMUK в Dolphin На рис. вище я червоним кольором зазначив і пошукове поле, і функції додавання коментарів і позначок.…

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

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

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

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

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

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

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

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

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

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