wiki:kassaSSStructure

Version 1 (modified by sokol, 18 місяців ago) (diff)

--

Структура каси самообслуги

На відміну від програми, з якою працюють працівники магазину, з касою самообслуговування працюють клієнти закладу і тому зовнішній вигляд інтерфейсу програми має надзвичайно важливе значення. Крім того форма та розширення монітору може дуже відрізнятись від звичайних. Це додає особливі вимоги до кастомізації саме даного модуля.

Загальні принципи

Як відбувається зміна стилів описано [wikw:styles в цьому розділі].
Проте окрім індивідуальних стилів, для каси самоомбслуговування розроблено систему, генерації інтерфейсу на основі файлів із індивідуальною структурою основного вікна. По суті це звичайні .xml файли що лежать в каталозі ./frames. Активну структуру можна підключити, змінивши в файлі kassa_ss.ini в секції [Place] .. FramesType?="структура.xml". Внесення змін в ці файли дозволяє переміщувати, створювати або приховувати ті чи інщі елементи інтерфейсу програми.

Позиціонування

З дебільшого елементи позиціонування не відображаються (окрім рідкісних випадків) і служать лише для задання правил відображення елементів, які вміщують всередині себе.

Макети

Макети є вкладеними структурами системи, що можуть вміщувати інші слої та елементи. Для створення макета необхідно додати тег:

<Layout параметри>...</Layout>

Фактично макети служать для групування інших елементів та розміщення їх по горизонталі чи вертикалі. За замовчуванням елементи розтягнуться по горизонталі.
Макет може містити наступні додаткові параметри:

  • direction="орієнтація" - напрям орієнтації внутрішніх елементів. Допустимі значення: "vertical" - вертикальне (в стовпчик) або "horizontal" - горизонтальне
  • frame="назва" - звичайні макети не відображаються на екрані. Проте додавання даного, не порожнього, параметру дозволить задати певну візуальну стилізацію зони, під елементами макету. В таблиці стилів для цього потрібно задати відповідний стиль QFrame#test_frame { ... }.

Розтягування

Елемент розтягування, доданий в <Layout> притискає інші елементи, роблячи певні проміжки. Їх зручно уявляти як пружини, що розсувають інщі блоки.

<Stretch />

Кнопки