Изменение визуальных форм
Содержание
- 1 Общие сведения
- 2 Использование специальных символов
- 3 Описание форм
- 4 Используемые теги и их иерархия
- 5 Атрибуты-описатели визуальных элементов
- 6 Типы визуальных элементов
- 7 Типы кнопок (Buttons)
- 8 Типы текстовых полей (StaticText)
- 9 Порядок вывода визуальных элементов на формы
- 10 Расширенное управление элементами с помощью "ExtParams"
- 10.1 Для элемента "InputString" и "AlphaInputString"
- 10.2 Для элемента "BackgroundText"
- 10.3 Для элемента "Weigth"
- 10.4 Для элемента "Tare"
- 10.5 Для элемента "Keyboard"
- 10.6 Для элемента "AlphaKeyboard"
- 10.7 Для элемента "PackingKeyboard"
- 10.8 Для элемента "Groups"
- 10.9 Для элемента "Goods"
- 10.10 Для элемента "Price" и "Total"
- 10.11 Для элемента "Goods/Name"
- 10.12 Для элементов "Picture", "SecondPicture"
- 10.13 Для элемента "StaticText"
- 10.14 Для элемента "Pictures"
- 10.15 Для элемента "Progress"
- 10.16 Для элемента "PopularGoods"
- 10.17 Для элемента "QRCode"
- 10.18 Для элемента "Forms"
- 11 Описание создания клавиатуры (элементы хххKeyboard)
- 12 Дополнительное описание
Общие сведения
! | Некоторые функции поддерживаются не во всех версия программного обеспечения. Для поддержки всех функций необходимо обновить прошивку весов до последней версии. |
В программном обеспечении весового комплекса возможно изменение практически всех визуальных форм отображаемых на экране. Данная процедура может понадобиться, например, для изменения стандартных цветов на фирменные цвета или для добавления логотипа, а так же для изменения функционала и поведения весов.
Например с помощью изменения экранной формы пароля за 5 минут можно из такой формы ввода пароля:
получить такую:
Изменения размеров, цветов и др. на экранных формах производится через соответствующие файлы настроек. Текст файлов подчиняется стандартным правилам формирования XML файлов.
Местоположение файлов настроек:
/opt/R1Sensor/Settings
Стандартные каталоги программы:
/opt/R1Sensor
для ОС Linux и
c:/R1Sensor
для ОС Windows.
Правила формирования имен файлов:
Forms-X-Y.xml
Где:
X – название алгоритма работы (A0, A1 и т.д.).
Y – разрешение экрана (1024x768, 800х600 и т.д.),
Например для алгоритма А1 и разрешения 1024x768 имя будет:
Forms-A1-1024x768.xml
Разрешение экрана может отсутствовать в имени файла - тогда данный файл будет использоваться для всех разрешений.
Это основной файл, который должен содержать описание всех форм используемых в выбранном алгоритме работы.
Все описания в файле записаны внутри тега AclasSelfServiceFormSettingsData
, а описание форм находится внутри тега Forms
:
<AclasSelfServiceFormSettingsData LastModify="22.08.2016 12:00:00" DBVersion="1.0.0">
<Forms>
…
</Forms>
</AclasSelfServiceFormSettingsData>
Для удобства редактирования описания форм их можно записать в разные файлы, присвоив им соответствующие имена и перечислить их в основном файле в теге Include
:
<Include File="Forms-A1-1024x768_Groups.xml"/>
<Include File="Forms-A1-1024x768_SubGroups.xml"/>
<Include File="Forms-A1-1024x768_Goods.xml"/>
В каждом файле структура тегов соответствует основному файлу.
Например, при установке программного обеспечения, для редактирования внешний вид кнопок на экране выбора товара нужно редактировать файл: Forms-A1-1024x768_Goods.xml
При использовании весового модуля LS215 (обычно с этим модулем используется персональный компьютер с тач-экраном на базе x86 совместимого процессора под управлением ОС Windows или Linux) формы в первую очередь ищутся в подкаталоге Settings/LS215
. Подобное поведение связано с тем, что в настольных версиях ОС Windows или Linux визуальные размеры шрифтов отличаются от таких же шрифтов в ОС Embedded Linux, которая используется управляющих компьютера на базе процессоров ARM совместно с весовыми модулями LS515.
Использование специальных символов
При задание текста возможно использование специальных символов, которые необходимо добавить в тексты сообщений.
Текст для задания в xml файле |
Значение |
---|---|
<br>
|
Перевод строки |
&#xxxx;
|
Шестнадцатеричный код символа |
Специальные символы HTML
символ | html-код | десятичный
код |
описание |
---|---|---|---|
|   | Неразрывный пробел | |
  |   | Узкий пробел (еn-шириной в букву n) | |
  |   | Широкий пробел (em-шириной в букву m) | |
– | – | – | Узкое тире (en-тире) |
— | — | — | Широкое тире (em -тире) |
­ | ­ | Мягкий перенос | |
а́ | ́ | Ударение, ставится после "ударной" буквы | |
© | © | © | Копирайт |
® | ® | ® | Знак зарегистрированной торговой марки |
™ | ™ | ™ | Знак торговой марки |
º | º | º | Копье Марса |
ª | ª | ª | Зеркало Венеры |
‰ | ‰ | ‰ | Промилле |
π | π | π | Пи (используйте Times New Roman) |
¦ | ¦ | ¦ | Вертикальный пунктир |
§ | § | § | Параграф |
° | ° | ° | Градус |
µ | µ | µ | Знак "микро" |
¶ | ¶ | ¶ | Знак абзаца |
… | … | … | Многоточие |
‾ | ‾ | ‾ | Надчеркивание |
´ | ´ | ´ | Знак ударения |
№ | № | Знак номера | |
🔍 | 🔍 | Лупа (наклонённая влево) | |
🔎 | 🔎 | Лупа (наклонённая вправо) | |
☎ | ☎ | Телефон | |
✉ | ✉ | Конверт, email, почта | |
💾 | 💾 | Дискета | |
🛠 | 🛠 | Молоток и гаечный ключ, настройка | |
🔒 | 🔒 | Замок закрыт | |
🔓 | 🔓 | Замок открыт | |
🔔 | 🔔 | Колокольчик | |
🔕 | 🔕 | Колокольчик перечеркнутый | |
🗑 | 🗑 | Урна | |
🔥 | 🔥 | Огонь | |
🛇 | 🛇 | Запрещено | |
⛔ | ⛔ | Вход запрещен (кирпич) | |
⛳ | ⛳ | Фраг в воронке, местоположение, место встречи, гольф | |
знаки арифметических и математических операций | |||
× | × | × | Умножить |
÷ | ÷ | ÷ | Разделить |
< | < | < | Меньше |
> | > | > | Больше |
± | ± | ± | Плюс/минус |
¹ | ¹ | ¹ | Степень 1 |
² | ² | ² | Степень 2 |
³ | ³ | ³ | Степень 3 |
¬ | ¬ | ¬ | Отрицание |
¼ | ¼ | ¼ | Одна четвертая |
½ | ½ | ½ | Одна вторая |
¾ | ¾ | ¾ | Три четверти |
⁄ | frasl; | ⁄ | Дробная черта |
− | minus; | − | Минус |
≤ | ≤ | ≤ | Меньше или равно |
≥ | ≥ | ≥ | Больше или равно |
≈ | ≈ | ≈ | Приблизительно (почти) равно |
≠ | ≠ | ≠ | Не равно |
≡ | ≡ | ≡ | Тождественно |
√ | √ | √ | Квадратный корень (радикал) |
∞ | ∞ | ∞ | Бесконечность |
∑ | ∑ | ∑ | Знак суммирования |
∏ | ∏ | ∏ | Знак произведения |
∂ | ∂ | ∂ | Частичный дифференциал |
∫ | ∫ | ∫ | Интеграл |
∀ | ∀ | ∀ | Для всех (видно только если жирным шрифтом) |
∃ | ∃ | ∃ | Существует |
∅ | ∅ | ∅ | Пустое множество |
Ø | Ø | Ø | Диаметр |
∈ | ∈ | ∈ | Принадлежит |
∉ | ∉ | ∉ | Не принадлежит |
∋ | ∋ | ∗ | Содержит |
⊂ | ⊂ | ⊂ | Является подмножеством |
⊃ | ⊃ | ⊃ | Является надмножеством |
⊄ | ⊄ | ⊄ | Не является подмножеством |
⊆ | ⊆ | ⊆ | Является подмножеством либо равно |
⊇ | ⊇ | ⊇ | Является надмножеством либо равно |
⊕ | ⊕ | ⊕ | Плюс в кружке |
⊗ | ⊗ | ⊗ | Знак умножения в кружке |
⊥ | ⊥ | ⊥ | Перпендикулярно |
∠ | ∠ | ∠ | Угол |
∧ | ∧ | ∧ | Логическое И |
∨ | ∨ | ∨ | Логическое ИЛИ |
∩ | ∩ | ∩ | Пересечение |
∪ | ∪ | ∪ | Объединение |
знаки валют | |||
€ | € | € | Евро |
¢ | ¢ | ¢ | Цент |
£ | £ | £ | Фунт |
¤ | ¤t; | ¤ | Знак валюты |
¥ | ¥ | ¥ | Знак йены и юаня |
ƒ | ƒ | ƒ | Знак флорина |
₽ | ₽ | Знак рубля | |
маркеры, птички, галочки, check mark | |||
• | • | • | Простой маркер |
○ | ○ | Круг | |
· | · | · | Средняя точка |
† | † | Крестик | |
‡ | ‡ | Двойной крестик | |
♠ | ♠ | ♠ | Пики |
♣ | ♣ | ♣ | Трефы |
♥ | ♥ | ♥ | Червы |
♦ | ♦ | ♦ | Бубны |
◊ | ◊ | ◊ | Ромб |
❤ | ❤ | Жирное сердце | |
✓ | ✓ | Символ галочка | |
✔ | ✔ | Жирная отметка галочкой | |
𐄂 | 𐄂 | Крестик | |
🗸 | 🗸 | Тонкая галочка | |
✅ | ✅ | Жирная незакрашенная отметка галочка | |
☑ | ☑ | Галочка в квадрате | |
🗹 | 🗹 | Жирная галочка в квадрате | |
⚠ | ⚠ | Внимание! | |
карандаши, перья, кисти | |||
✍ | ✍ | Пишущая рука | |
✎ | ✎ | Карандаш, направленный вправо-вниз | |
✏ | ✏ | Карандаш | |
✐ | ✐ | Карандаш, направленный вправо-вверх | |
✑ | ✑ | Незакрашенное острие пера | |
✒ | ✒ | Закрашенное острие пера | |
🖌 | 🖌 | Кисть, направленная влево-вниз | |
кавычки | |||
" | " | " | Двойная кавычка |
& | & | & | Амперсанд |
« | « | « | Левая типографская кавычка (кавычка-елочка) |
» | » | » | Правая типографская кавычка (кавычка-елочка) |
‹ | ‹ | Одиночная угловая кавычка открывающая | |
› | › | Одиночная угловая кавычка закрывающая | |
′ | ′ | ′ | Штрих (минуты, футы) |
″ | ″ | ″ | Двойной штрих (секунды, дюймы) |
‘ | ‘ | ‘ | Левая верхняя одиночная кавычка |
’ | ’ | ’ | Правая верхняя одиночная кавычка |
‚ | ‚ | ‚ | Правая нижняя одиночная кавычка |
“ | “ | “ | Кавычка-лапка левая |
” | ” | ” | Кавычка-лапка правая верхняя |
„ | „ | „ | Кавычка-лапка правая нижняя |
❛ | ❛ | Одиночная английская кавычка открывающая | |
❜ | ❜ | Одиночная английская кавычка закрывающая | |
❝ | ❝ | Двойная английская кавычка открывающая | |
❞ | ❞ | Двойная английская кавычка закрывающая | |
стрелки | |||
← | ← | ← | Стрелка влево |
↑ | ↑ | ↑ | Стрелка вверх |
→ | → | → | Стрелка вправо |
↓ | ↓ | ↓ | Стрелка вниз |
↔ | ↔ | ↔ | Стрелка влево и вправо |
↕ | ↕ | Стрелка вверх и вниз | |
↵ | ↵ | ↵ | Возврат каретки |
⇐ | ⇐ | ⇐ | Двойная стрелка влево |
⇑ | ⇑ | ⇑ | Двойная стрелка вверх |
⇒ | ⇒ | ⇒ | Двойная стрелка вправо |
⇓ | ⇓ | ⇓ | Двойная стрелка вниз |
⇔ | ⇔ | ⇔ | Двойная стрелка влево и вправо |
⇕ | ⇕ | Двойная стрелка вверх и вниз | |
▲ | ▲ | Треугольная стрелка вверх | |
▼ | ▼ | Треугольная стрелка вниз | |
► | ► | Треугольная стрелка вправо | |
◄ | ◄ | Треугольная стрелка влево | |
звездочки, снежинки | |||
☃ | ☃ | Снеговик | |
❄ | ❄ | Снежинка | |
❅ | ❅ | Зажатая трилистниками снежинка | |
❆ | ❆ | Жирная остроугольная снежинка | |
★ | ★ | Закрашенная звезда | |
☆ | ☆ | Незакрашенная звезда | |
✪ | ✪ | Незакрашенная звезда в закрашенном круге | |
✫ | ✫ | Закрашенная звезда с незакрашенным кругом внутри | |
✯ | ✯ | Вращающаяся звезда | |
⚝ | ⚝ | Начерченная белая звезда | |
⚪ | ⚪ | Средний незакрашенный круг | |
⚫ | ⚫ | Средний закрашенный круг | |
⚹ | ⚹ | Секстиле (типа снежинка) | |
✵ | ✵ | Восьмиконечная вращающаяся звезда | |
❉ | ❉ | Звёздочка с шарообразными окончаниями | |
❋ | ❋ | Жирная восьмиконечная каплеобразная звёздочка-пропеллер | |
✺ | ✺ | Шестнадцатиконечная звёздочка | |
✹ | ✹ | Двенадцатиконечная закрашенная звезда | |
✸ | ✸ | Жирная восьмиконечная прямолинейная закрашенная звезда | |
✶ | ✶ | Шестиконечная закрашенная звезда | |
✷ | ✷ | Восьмиконечная прямолинейная закрашенная звезда | |
✴ | ✴ | Восьмиконечная закрашенная звезда | |
✳ | ✳ | Восьмиконечная звёздочка | |
✲ | ✲ | Звёздочка с незакрашенным центром | |
✱ | ✱ | Жирная звёздочка | |
✧ | ✧ | Заострённая четырёхконечная незакрашенная звезда | |
✦ | ✦ | Заострённая четырёхконечная закрашенная звезда | |
⍟ | ⍟ | Звезда в круге | |
⊛ | ⊛ | Снежинка в круге | |
часы, время | |||
⏰ | ⏰ | Будильник | |
⌚ | ⌚ | Наручные часы | |
⌛ | ⌛ | Песочные часы | |
⏳ | ⏳ | Песочные часы | |
🕰 | 🕰 | Каминные часы |
Греческий алфавит
Греческий алфавит | |||||
---|---|---|---|---|---|
строчные | прописные | описание | |||
символ | html-код | символ | html-код | ||
α | α | Α | Α | Альфа | |
β | β | Β | Β | Бета | |
γ | γ | Γ | Γ | Гамма | |
δ | δ | Δ | Δ | Дельта | |
ε | ε | Ε | Ε | Эпсилон | |
ζ | ζ | Ζ | Ζ | Дзета | |
η | η | Η | Η | Эта | |
θ | θ | Θ | Θ | Тета | |
ι | ι | Ι | Ι | Йота | |
κ | κ | Κ | Κ | Каппа | |
λ | λ | Λ | Λ | Лямбда | |
μ | μ | Μ | Μ | Мю | |
ν | ν | Ν | Ν | Ню | |
ξ | ξ | Ξ | Ξ | Кси | |
ο | ο | Ο | Ο | Омикрон | |
π | π | Π | Π | Пи | |
ρ | ρ | Ρ | Ρ | Ро | |
σ | σ | Σ | Σ | Сигма | |
ς | ς | Окончательная сигма | |||
τ | τ | Τ | Τ | Тау | |
υ | υ | Υ | Υ | Ипсилон | |
φ | φ | Φ | Φ | Фи | |
χ | χ | Χ | Χ | Хи | |
ψ | ψ | Ψ | Ψ | Пси | |
ω | ω | Ω | Ω | Омега |
Описание форм
Формы описываются только внутри тега Forms
и только на один уровень внутрь, т.е. невозможно вложенное описание форм.
Для задания формы (как и для задания многих других элементов) используется тег Item
.
Тип формы задается атрибутом Type
.
Например:
<AclasSelfServiceFormSettingsData LastModify="22.08.2016 12:00:00" DBVersion="1.0.0">
<Forms>
<Item Name="GroupForm-Algoritm-A11" Type="13" Version="0.0.1.0" Created="19.03.2015">
… Здесь будет описание элементов формы …
</Item>
</Forms>
</AclasSelfServiceFormSettingsData>
Атрибуты Name
, Version
и Created
- необязательны и служат для более удобного восприятия файлов с описанием.
Типы форм
Тип формы | Назначение формы | Примечание |
10 | Форма с обычными группами товаров | |
11 | Форма с подгруппами товаров | |
12 | Форма с одновременным выводом обычных групп товаров и клавиатуры для набора кода товара | |
13 | Не используется | |
14 | Форма с вводом номера товара | Для ввода кода пользователем (не фасовка) |
15 | Форма для режима фасовки | |
16 | «Плавающая» форма ввода номера товара | Для ввода кода пользователем (не фасовка) |
17 | Форма для режима работы без групп товаров | Выводятся кнопки для выбора или алфавитных или цифровых групп |
18 | Форма с автоматическими цифровыми группами | Если форма не задана - используется форма 10 |
19 | Форма с автоматическими алфавитными группами | Если форма не задана - используется форма 10 |
20 | Форма со списком товаров | |
21 | Форма со списком товаров + популярные товарамы | |
40 | Форма для вывода системных сообщений | |
Системное сообщение «Идет загрузка ПО» | Подтип: MessageType=Loading | |
Системное сообщение «Критическая ошибка» | Подтип: MessageType=CriticalError | |
Системное сообщение «Весы заблокированы» | Подтип: MessageType=LockScale | |
Системное сообщение «Вызов продавца» | Подтип: MessageType=CallService | |
Системное сообщение «Весы не работают» | Подтип: MessageType=OutOfOrder | |
Системное сообщение «Нет связи с весовым модулем» | Подтип: MessageType=NoLink | |
Системное сообщение «Ошибка печати» | Подтип: MessageType=CommonPrintError | |
Системное сообщение «Не закрыта крышка принтера» | Подтип: MessageType=ClosePrinterCover | |
Системное сообщение «Не установлена кассета» | Подтип: MessageType=NoCassette | |
Системное сообщение «Установлена неверная кассета» | Подтип: MessageType=BadCassette | |
Системное сообщение «Закончились этикетки» | Подтип: MessageType=OutOfPaper | |
Системное сообщение «Не снята этикетка» | Подтип: MessageType=RemoveLabel | |
Системное сообщение «Необходима калибровка принтера» | Подтип: MessageType=NeedRecalibrate | |
41 | Описание вывода веса (цены/стоимости) | |
42 | Форма с выводом информации о товаре после печати этикетки | |
43 | Описание вывода веса (цены/стоимости) для режима системного меню | |
44 | Форма ввода пароля | |
45 | Форма при печати, если нулевой вес | |
46 | Форма при печати, если товар не найден | |
47 | Форма ожидания выполнения действия | |
48 | Форма ввода количества штучного товара | Ввод количества пользователем |
50 | Форма для вывода рекламных сообщений для основного экрана | |
51 | Форма для вывода рекламных сообщений для дополнительного экрана | |
52 | Форма для вывода рекламных сообщений для дополнительного экрана в режиме фасовки | |
55 | Форма обратной связи. Используется для вывода контактов для связи. | |
56 | Форма показа QR кода в режиме системного меню. | |
57 | Форма для вывода информации в режиме проверки цен. | |
58 | Форма для вывода информации при ожидании отложенного сохранения данных. | |
59 | Форма при печати, необходимо подтверждение печати | Используется при голосовом управлении для подтверждения печати голосовой командой |
Используемые теги и их иерархия
Название тега | Описание | Возможные "Type" для "Item" | Примечание | ||||
---|---|---|---|---|---|---|---|
<Form><Item> | |||||||
Width | |||||||
Height | |||||||
StyleSheet | |||||||
BackgroundColor | |||||||
BackgroundPicture | |||||||
ButtonsZone | |||||||
Item | Group, Goods, Back, Forward, Empty, AlphaKeyboard, Keyboard, AlphaInputString, InputString | ||||||
Item | Number, BarCode, DisplayNumber, Name, Price, DiscountPrice, Total, Weight, Picture, SecondPicture, Action, Message, BackgroundText, BackgroundPicture. MiddlePicture | ||||||
StyleSheet | |||||||
ExtParams | |||||||
StyleSheet | |||||||
ExtParams | |||||||
Pictures | |||||||
Item | |||||||
ExtParams | |||||||
StaticTexts | |||||||
Item | |||||||
ExtParams | |||||||
StyleSheet | |||||||
Buttons | |||||||
Item | |||||||
ExtParams | |||||||
StyleSheet | |||||||
ErrorMessage | |||||||
StyleSheet | |||||||
ServiceZones | |||||||
Item | |||||||
Weight | |||||||
StyleSheet | |||||||
Tare | |||||||
StyleSheet | |||||||
Price | |||||||
StyleSheet | |||||||
Total | |||||||
StyleSheet | |||||||
ModeMessage | Для режима фасовки | ||||||
StyleSheet | |||||||
StateMessage | Для режима фасовки | ||||||
StyleSheet | |||||||
InfoMessage | Для режима фасовки | ||||||
StyleSheet | |||||||
ProgressBar | Только для экрана загрузки | ||||||
Counter | Только для экрана загрузки | ||||||
ProgressPictures | Только для экрана загрузки | ||||||
Item | |||||||
</Item></Form> |
Дополнительные теги для изменения внешнего вида и поведения элементов
Название тега | Описание | Примечание |
StyleSheet | Тег описывающий визуальное представление элемента. Цвета, шрифт и т.д. | Для задания используется тип CDATA.
Например: <StyleSheet> <![CDATA[border-left: 3px; border-style: solid; border-left-color: black; ]]> </StyleSheet>
|
ExtParams | Тег задающий дополнительные параметры для элемента. | Содержимое элемента задается в формате JSON.
Для элемента "InputString": "empty-text" : "текст при отсутствии введенного номера" и "empty-text-style-sheet" : "стиль текста при отсутствии введенного номера" Для текстов, кнопок, картинок: "autohide-xxx" : "true/false" и "autoshow-xxx" : "true/false" Например: <ExtParams> <![CDATA[ { "smooth-transformation" : "true", "keep-aspect-ratio" : "true" } ]]> </ExtParams>
|
Атрибуты-описатели визуальных элементов
Название атрибута | Описание | Возможные значения | Примечание |
Type | Тип элемента | ||
Enabled | Разрешение/запрещение вывода элемента | true/false | |
Top | Координаты верхней границы элемента | число | если число от 0 – координата.
если число < 0 – координата отсчитывается от противоположной границы родительского элемента. |
Left | Координаты левой границы элемента | число | если число от 0 – координата.
если число < 0 – координата отсчитывается от противоположной границы родительского элемента. |
Width | Ширина элемента | число | если задано значение "0", тогда происходит увеличение размера по правой стороне до конца родительского элемента |
Height | Высота элемента | число | если задано значение "0", тогда происходит увеличение размера по нижней границе до конца родительского элемента |
VAlign | Выравнивание содержимого элемента по вертикали | ||
HAlign | Выравнивание содержимого элемента по горизонтали | ||
Scaled | Разрешение/запрещение растягивания содержимого элемента | true/false | если элемент является картинкой, включение данного атрибута позволяет растянуть загружаемую картинку до размеров элемента. |
ScaledContent | Непропорциональное растягивание картинок и текста. | true/false | |
Tracing | Обводка текста альтернативным цветом | число | если задано значение "0" - обводки нет |
TracingColor | Обводка текста альтернативным цветом | Цвет обводки | Например: rgb(255, 255, 255) - белый цвет |
WordWrap | Перенос слов по словам | true/false | |
Text | Выводимый текст | текст | Данное поле может содержать шаблон вывода значения для следующих типов: weight, price, total, tare.
Шаблон для вывода следующего типа: {%total%} - полное значение; {%int%} - целая часть; {%fract%} - дробная часть; {%fract-simple%} - дробная часть без лидирующих нулей. |
Типы визуальных элементов
Тип элемента | Возможные атрибуты | Описание | Примечание |
Group | Описание блока с кнопками групп товаров. | Кнопки распологаются внутри блока в сетке.
Размеры кнопок вычилсяются автоматически в зависимости от заданного количества и максимальных/минимальных размеров. | |
Enabled | Включение/выключение видимости элемента без удаления его из файла описания формы. | ||
Rows | Количество рядов в сетке кнопок групп (кнопок по вертикали). | ||
ButtonInRow | Количество колонок в сетке кнопок групп (кнопок по горизонтали). | ||
Top, Left, Width, Height | Координаты блока верхнего левого угла и размер по ширине и высоте. | ||
MaxWidthButton, MaxMaxHeight, MinWidthButton, MinMaxHeight | Максимальные и минимальные размеры кнопки. | ||
BackgroundPicture | Фоновая картинка для каждой кнопки. | Картинка расположена в самом нижнем слое.
Картинка растягивается пропорционально по всей кнопке. Размеры места под картинку соответствуют размеру кнопки. | |
MiddlePicture | Дополнительная картинка для каждой кнопки. | Картинка расположена над картинкой группы.
Картинка растягивается пропорционально по всей кнопке. Размеры места под картинку соответствуют размеру кнопки. | |
ForegroundPicture | Картинка верхнего уровня для каждой кнопки. | Картинка расположена в самом верхнем слое.
Картинка растягивается пропорционально по всей кнопке. Размеры места под картинку соответвуют размеру кнопки. Картинка перекрывает все другие элементы. Для обеспечения их видимости нужно использовать прозрачность. | |
DigitGroup | |||
Name | |||
Number | |||
Picture | |||
DisplayNumber | |||
Price | |||
Action | |||
BackgroundText | |||
BackgroundPicture | |||
Back | |||
Forward | |||
Text | |||
TimeDate | |||
Типы кнопок (Buttons)
Если атрибут "Type" элемента из группы "Buttons" равен указанному в таблице значению, то элемент приобретает соответствующие возможности.
Тип кнопки | Описание | Примечание |
MainMenu | Переход на первоначальный экран. | |
ResetPrinter | Сброс (калибровка) принтера. | |
AlphaGroups | Переход на экран с алфавитными группами. | |
DigitGroups | Переход на экран с цифровыми группами. | |
NameGroups | Переход на экран с группами товаров. | |
ExtraGroups | Переход на экран с группами товаров (отличный от главного). | |
PackingUserScreen | Переход на экран с набором кода товара. | |
PackingSplashScreen | Показ всплывающего экрана с набором кода товара. | |
PrintCopyLabel | Печать копии последней этикетки. | |
FeedPaper | Промотка этикетка. Построчная. | |
PrintTestLabel | Печать тестовой этикетки. | |
Close | Закрыть текущую форму. | |
Retry | Повтор последней операции. | В данный момент не используется. |
PrintLabel | Печать этикетки, если есть набранный (выбранный) код товара. | |
PreviousGroup | Переход на предыдущую группу товаров. | |
NextGroup | Переход на следующую группу товаров. | |
BackGoodsPage | Переход на предыдущую страницу товаров в пределах одной группы. | |
ForwardGoodsPage | Переход на следующую страницу товаров в пределах одной группы. | |
SystemMenu | Показать системное меню. | |
Feedback | Показать форму обратной связи (тип формы = 55). | |
ClearInputString | Очистить набранный номер товара при поиске. | |
ClearAlphaInputString | Очистить набранное название товара при поиске. | |
TareWeight | Выполнить тарирование веса.. | |
ZeroWeight | Выполнить обнуление веса. | |
ExtraGroups | Показать дополнительный экран с группами. | |
StartImageRecognition | Запустить ручное распознавание товара нейронной сетью. |
Типы текстовых полей (StaticText)
Если аттрибут "Type" элемента из группы "StaticText" равен указанному в таблице значению, то элемент приобретает дополнительные возможности.
Если в текст элемента необходимо добавить принудительный переход на новую строку, то в текст нужно вcтавить следующую последовательность:
<br>
Специальные символы можно вставлять с помощью специальной конструкции:
&#xxxx;
, где xxxx - шестнадцатеричный код символа.
Тип поля | Описание | Примечание |
Text | Вывод простого текста. | В поле "text" находится текст для вывода. Для вывода фона/рамки достаточно в поле "text" ввести пробел. И возможно дополнение шаблонами для вывода следующего типа:
{%version%} - вывод полной версиии ПО, {%version-short%} - вывод сокращенной версиии ПО, {%scale-version%} - вывод версии весового модуля, {%serial-number%} - вывод заводского номера, {%all-ip-address%} - вывод всех IP адресов, {%eth-ip-address%} - вывод IP проводной сети, {%eth-mac-address%} - вывод MAC адреса проводной сети, {%wifi-ip-address%} - вывод IP адреса беспроводной сети, {%wifi-mac-address%} - вывод MAC адреса беспроводной сети. |
BackgroundFone | Вывод фонового цвета (так же выводит текст). | В поле "text" находится текст для вывода. Для вывода фона/рамки достаточно в поле "text" ввести пробел. И возможно дополнение шаблонами для вывода следующего типа:
{%version%} - вывод полной версиии ПО, {%version-short%} - вывод сокращенной версиии ПО, {%scale-version%} - вывод версии весового модуля, {%serial-number%} - вывод заводского номера, {%all-ip-address%} - вывод всех IP адресов, {%eth-ip-address%} - вывод IP проводной сети, {%eth-mac-address%} - вывод MAC адреса проводной сети, {%wifi-ip-address%} - вывод IP адреса беспроводной сети, {%wifi-mac-address%} - вывод MAC адреса беспроводной сети. |
DateTime | Вывод текущего времени/даты | В поле "text" находится шаблон для вывода времени/даты, состоящий из элементов:
dd - день; ММ - месяц; yyyy - год; hh - часы; mm - минуты; ss - секунды. Другие символы выводятся в неизменном виде. |
GroupName | Название текущей группы товаров. | |
GroupPicture | Основная картинка текущей группы товаров. | |
GroupSecondPicture | Дополнительная картинка текущей группы товаров. | |
Weight | Вывод текущего веса. | В поле "text" находится шаблон для вывода следующего типа:
{%total%} - полное значение; {%int%} - целая часть; {%fract%} - дробная часть; {%fract-simple%} - дробная часть без лидирующих нулей; {%weight-text%} - единица измерения веса. |
Tare | Вывод текущей тары товара или глобальной. | В поле "text" находится шаблон для вывода следующего типа:
{%total%} - полное значение; {%int%} - целая часть; {%fract%} - дробная часть; {%fract-simple%} - дробная часть без лидирующих нулей; {%weight-text%} - единица измерения веса. |
Price | Вывод цены товара. | В поле "text" находится шаблон для вывода следующего типа:
{%total%} - полное значение; {%int%} - целая часть; {%fract%} - дробная часть; {%fract-simple%} - дробная часть без лидирующих нулей; {%currency%} - символ валюты; {%weight-unit%} - весовая единица товара. |
Total | Вывод общая сумма (цена * вес). | В поле "text" находится шаблон для вывода следующего типа:
{%total%} - полное значение; {%int%} - целая часть; {%fract%} - дробная часть; {%fract-simple%} - дробная часть без лидирующих нулей; {%currency%} - символ валюты. |
QRCode | Вывод QR кода. | |
ActiveState | Вывод активности работы. | |
WiFiState | Вывод состояния WiFi. | |
EthState | Вывод состояния проводной сети. |
Порядок вывода визуальных элементов на формы
- Фоновая картинка формы
- Статичные тексты
- Статичные картинки
- Поля веса/цены/стоимости
- Кнопки
- Поле с выбором товаров
- Поля для входа в системное меню
Элементы, которые выводятся на экране позднее перекрывают ранее выведенные элементы.
Расширенное управление элементами с помощью "ExtParams"
Для элемента "InputString" и "AlphaInputString"
Имя тега | Тип данных | Описание | Используется в алгоритмах |
---|---|---|---|
empty-text | string | Строка выводимая, когда не введен номер товара | А11, А12, А13, А14, A21 |
empty-text-style-sheet | string | Стиль строки ввода, когда не введен номер товара | А11, А12, А13, А14, A21 |
to-upper | string | Выводить все символы в ВЕРХНЕМ регистре | А11, А12, А13, А14, A21 |
to-lower | string | Выводить все символы в нижнем регистре | А11, А12, А13, А14, A21 |
autohide | bool | Автоскрывать при невыбранном товаре | |
autoshow | bool | Автопоказывать при невыбранном товаре | |
autohide-alphasearch | bool | Скрывать при поиске по алфавиту | |
autoshow-alphasearch | bool | Выводить при поиске по алфавиту | |
weight-is-stable | bool | Выводить при стабильном весе | |
weight-is-not-stable | bool | Выводить при не стабильном весе | |
weight-is-zero | bool | Выводить при нулевом весе | |
weight-is-not-zero | bool | Выводить при не нулевом весе | |
number-prefix | string | Выводить перед введенным значением | |
number-suffix | string | Выводить после введенным значением | |
imagerecognition-on-idle | string | Выводить при неактивном распознавании | |
imagerecognition-on-result | string | Выводить после получения реультатов распознавания |
Для элемента "BackgroundText"
Имя тега | Тип данных | Описание | Используется в алгоритмах |
---|---|---|---|
selected-group-stylesheet | string | Cтиль кнопки текущей группы при выводе кнопок групп на форме товаров |
Для элемента "Weigth"
Имя тега | Тип данных | Описание | Используется в алгоритмах |
---|---|---|---|
enable-blink-on-error | string | ||
weight-not-stable-color | string | ||
weight-error-color | string | ||
weight-not-stable-style-sheet | string | ||
weight-over-flow-style-sheet | string | ||
weight-error-style-sheet | string | ||
weight-overflow-text | string | Текст на который заменяется вес в случае перегрузки весов | AdPicturePackingSecondScreen, ScaleInfo |
Для элемента "Tare"
Имя тега | Тип данных | Описание | Используется в алгоритмах |
---|---|---|---|
hide-on-zero | bool | Скрывать поле, если значение тары ==0 |
Для элемента "Keyboard"
Имя тега | Тип данных | Описание | Используется в алгоритмах | |
---|---|---|---|---|
keyboard-map | string | |||
contents-margins | integer array | 4 числа для задания расстояния от границ.
Слева - Сверху - Справа - Снизу. Например: [3, 5, 3, 5] |
||
spacing | integer | Расстояние между кнопок по вертикали и горизонтали | ||
v-spacing | integer | Расстояние между кнопок по вертикали | ||
h-spacing | integer | Расстояние между кнопок по горизонтали | ||
name | string | Задание имени поля клавиатуры. Используется для возможности изменения цветов и стиля через StyleSheet.
В StyleSheet необходимо задавать объект: QWidget#name { background:transparent; } | ||
autohide | bool | Автоскрывать при невыбранном товаре | ||
autoshow | bool | Автопоказывать при невыбранном товаре | ||
autohide-alphasearch | bool | Скрывать при поиске по алфавиту | ||
autoshow-alphasearch | bool | Выводить при поиске по алфавиту | ||
weight-is-stable | bool | Выводить при стабильном весе | ||
weight-is-not-stable | bool | Выводить при не стабильном весе | ||
weight-is-zero | bool | Выводить при нулевом весе | ||
weight-is-not-zero | bool | Выводить при не нулевом весе |
Для элемента "AlphaKeyboard"
Элементов "AlphaKeyboard" может быть несколько.
Для каждого языка ввода создается отдельный элемент.
Имя тега | Тип данных | Описание | Используется в алгоритмах | |
---|---|---|---|---|
keyboard-map | string | |||
contents-margins | integer array | 4 числа для задания расстояния от границ.
Слева - Сверху - Справа - Снизу. Например: [3, 5, 3, 5] |
||
spacing | integer | Расстояние между кнопок по вертикали и горизонтали | ||
v-spacing | integer | Расстояние между кнопок по вертикали | ||
h-spacing | integer | Расстояние между кнопок по горизонтали | ||
name | string | Задание имени поля клавиатуры. Используется для возможности изменения цветов и стиля через StyleSheet.
В StyleSheet необходимо задавать объект: QWidget#name { background:transparent; } | ||
autohide | bool | Автоскрывать при невыбранном товаре | ||
autoshow | bool | Автопоказывать при невыбранном товаре | ||
autohide-alphasearch | bool | Скрывать при поиске по алфавиту | ||
autoshow-alphasearch | bool | Выводить при поиске по алфавиту | ||
weight-is-stable | bool | Выводить при стабильном весе | ||
weight-is-not-stable | bool | Выводить при не стабильном весе | ||
weight-is-zero | bool | Выводить при нулевом весе | ||
weight-is-not-zero | bool | Выводить при не нулевом весе | ||
search-anywhere | bool | Искать в любом месте любого слова наименования.
По умолчанию поиск по началу слов. Данная опция имеет приоритет над другими опциями поиска. Поддерживается начиная со сборок 4320. |
||
search-only-first-word | bool | Искать при поиске по первому слову наименования товара или по любому.
По умолчанию поиск по началу любого слова |
||
max-enter-count | int | Ограничение вводимого количества символов | ||
autohide-numbersearch | bool | Автоматически скрывать при поиске по номеру |
Для элемента "PackingKeyboard"
Имя тега | Тип данных | Описание | Используется в алгоритмах | |
---|---|---|---|---|
keyboard-map | string | |||
contents-margins | integer array | 4 числа для задания расстояния от границ.
Слева - Сверху - Справа - Снизу. Например: [3, 5, 3, 5] |
||
spacing | integer | Расстояние между кнопок по вертикали и горизонтали | ||
v-spacing | integer | Расстояние между кнопок по вертикали | ||
h-spacing | integer | Расстояние между кнопок по горизонтали | ||
name | string | Задание имени поля клавиатуры. Используется для возможности изменения цветов и стиля через StyleSheet.
В StyleSheet необходимо задавать объект: QWidget#name { background:transparent; } | ||
autohide | bool | Автоскрывать при невыбранном товаре | ||
autoshow | bool | Автопоказывать при невыбранном товаре | ||
autohide-alphasearch | bool | Скрывать при поиске по алфавиту | ||
autoshow-alphasearch | bool | Выводить при поиске по алфавиту | ||
weight-is-stable | bool | Выводить при стабильном весе | ||
weight-is-not-stable | bool | Выводить при не стабильном весе | ||
weight-is-zero | bool | Выводить при нулевом весе | ||
weight-is-not-zero | bool | Выводить при не нулевом весе |
Для элемента "Groups"
Имя тега | Тип данных | Описание | Используется в алгоритмах |
---|---|---|---|
dont-show-empty-group-button | bool | Не показывать пустые кнопки групп, если групп меньше чем места в ряду кнопок | |
hide-current-group-button | bool | Скрывать кнопку текущей группы, при выводе кнопок групп на форме товаров | |
autohide | bool | Автоскрывать при невыбранном товаре | |
autoshow | bool | Автопоказывать при невыбранном товаре | |
autohide-alphasearch | bool | Скрывать при поиске по алфавиту | |
autoshow-alphasearch | bool | Выводить при поиске по алфавиту | |
weight-is-stable | bool | Выводить при стабильном весе | |
weight-is-not-stable | bool | Выводить при не стабильном весе | |
weight-is-zero | bool | Выводить при нулевом весе | |
weight-is-not-zero | bool | Выводить при не нулевом весе | |
contents-margins | integer array | 4 числа для задания расстояния от границ.
Слева - Сверху - Справа - Снизу. Например: [3, 5, 3, 5] |
|
v-spacing | int | Расстояние по вертикали между кнопками | |
h-spacing | int | Расстояние по горизонтали между кнопками |
Для элемента "Goods"
Имя тега | Тип данных | Описание | Используется в алгоритмах |
---|---|---|---|
contents-margins | integer array | 4 числа для задания расстояния от границ.
Слева - Сверху - Справа - Снизу. Например: [3, 5, 3, 5] |
|
v-spacing | int | Расстояние по вертикали между кнопками | |
h-spacing | int | Расстояние по горизонтали между кнопками | |
autohide | bool | Автоскрывать при невыбранном товаре | |
autoshow | bool | Автопоказывать при невыбранном товаре | |
autohide-alphasearch | bool | Скрывать при поиске по алфавиту | |
autoshow-alphasearch | bool | Выводить при поиске по алфавиту | |
weight-is-stable | bool | Выводить при стабильном весе | |
weight-is-not-stable | bool | Выводить при не стабильном весе | |
weight-is-zero | bool | Выводить при нулевом весе | |
weight-is-not-zero | bool | Выводить при не нулевом весе | |
imagerecognition-on-idle | bool | Выводить включенной, но неактивной системе распознавания товаров | |
imagerecognition-on-search | bool | Выводить при анализе товара системой распознавания товаров | |
imagerecognition-on-result | bool | Выводить при результативном распознавании товара | |
imagerecognition-on-error | bool | Выводить при ошибке распознавания товара |
Для элемента "Price" и "Total"
Имя тега | Тип данных | Описание | Используется в алгоритмах |
---|---|---|---|
contents-margins | integer array | 4 числа для задания расстояния от границ.
Слева - Сверху - Справа - Снизу. Например: [3, 5, 3, 5] |
|
joint-price | bool | Выводить или цену, или цену со скидкой, если есть скидка на товар |
Для элемента "Goods/Name"
Имя тега | Тип данных | Описание | Используется в алгоритмах | |
---|---|---|---|---|
replace-to | int | На что меняется название товара, если нет картинки и разрешена ее замена на название товара
0 - номер товара, 1 - код магазина, 2 - доп номера товара | ||
use-name | bool | Использовать поле "Name" вместо "FullName". Поддерживается начиная со сборки 3860. | ||
remove-1kg | bool | Удалять строки подобные "1 кг" из названия товара при выводе на экран. Поддерживается начиная со сборки 3960. | ||
remove-1kg-regexp | string | При удалении строк "1 кг" использовать заданное значение в качестве фильтра поиска. Параметр задается в формате regular expressions. Поддерживается начиная со сборки 3960. | ||
remove-weight | bool | Удалять строки подобные "вес." из названия товара при выводе на экран. Поддерживается начиная со сборки 3960. | ||
remove-weight-regexp | string | При удалении строк "вес." использовать заданное значение в качестве фильтра поиска. Параметр задается в формате regular expressions. Поддерживается начиная со сборки 3960. |
Для элементов "Picture", "SecondPicture"
Имя тега | Тип данных | Описание | Используется в алгоритмах | |
---|---|---|---|---|
smooth-transformation | bool | Режим масштабирования | Если текст есть, он заменяет генерируемое системой значение в коде | |
transformation | int | Режим масштабирования: 0 - быстрое, 1 - качественное | Если текст есть, он заменяет генерируемое системой значение в коде | |
keep-aspect-ratio | bool | Соблюдение пропорций при масштабировании | Если текст есть, он заменяет генерируемое системой значение в коде | |
keep-aspect-ratio-by-expanding | bool | Соблюдение пропорций при масштабировании с расширением по максимальной строге | Если текст есть, он заменяет генерируемое системой значение в коде | |
aspect-ratio | int | Соблюдение пропорций при масштабировании: 0 - не соблюдать, 1 - соблюдать, 2 - соблюдать с расширением | Если текст есть, он заменяет генерируемое системой значение в коде | |
autohide | bool | Автоматически скрывать при невыбранном товаре | ||
autoshow | bool | Автоматически скрывать при невыбранном товаре | ||
autohide-alphasearch | bool | Скрывать при поиске по алфавиту | ||
autoshow-alphasearch | bool | Выводить при поиске по алфавиту | ||
weight-is-stable | bool | Выводить при стабильном весе | ||
weight-is-not-stable | bool | Выводить при не стабильном весе | ||
weight-is-zero | bool | Выводить при нулевом весе | ||
weight-is-not-zero | bool | Выводить при не нулевом весе |
Для элемента "StaticText"
Имя тега | Тип данных | Описание | Используется в алгоритмах |
---|---|---|---|
autohide | bool | Автоскрывать при невыбранном товаре | |
autoshow | bool | Автопоказывать при невыбранном товаре | |
autohide-alphasearch | bool | Скрывать при поиске по алфавиту | |
autoshow-alphasearch | bool | Выводить при поиске по алфавиту | |
weight-is-stable | bool | Выводить при стабильном весе | |
weight-is-not-stable | bool | Выводить при не стабильном весе | |
weight-is-zero | bool | Выводить при нулевом весе | |
weight-is-not-zero | bool | Выводить при не нулевом весе | |
lower | bool | Разместить текст внизу под другими элементами | |
imagerecognition-on-idle | bool | Выводить включенной, но неактивной системе распознавания товаров | |
imagerecognition-on-search | bool | Выводить при анализе товара системой распознавания товаров | |
imagerecognition-on-result | bool | Выводить при результативном распознавании товара | |
imagerecognition-on-error | bool | Выводить при ошибке распознавания товара |
Для элемента "Pictures"
Имя тега | Тип данных | Описание | Используется в алгоритмах |
---|---|---|---|
autohide | bool | Автоскрывать при невыбранном товаре | |
autoshow | bool | Автопоказывать при невыбранном товаре | |
autohide-alphasearch | bool | Скрывать при поиске по алфавиту | |
autoshow-alphasearch | bool | Выводить при поиске по алфавиту | |
weight-is-stable | bool | Выводить при стабильном весе | |
weight-is-not-stable | bool | Выводить при не стабильном весе | |
weight-is-zero | bool | Выводить при нулевом весе | |
weight-is-not-zero | bool | Выводить при не нулевом весе | |
smooth-transformation | bool | Режим масштабирования | Если текст есть, он заменяет генерируемое системой значение в коде |
keep-aspect-ratio | bool | Соблюдение пропорций при масштабировании | Если текст есть, он заменяет генерируемое системой значение в коде |
movie | bool | Анимированная картинка (gif) |
Для элемента "Progress"
Имя тега | Тип данных | Описание | Используется в алгоритмах |
---|---|---|---|
showtext | bool |
Для элемента "PopularGoods"
Имя тега | Тип данных | Описание | Используется в алгоритмах |
---|---|---|---|
enable-buttons | bool | Показывать или нет кнопки перехода между страницами |
Для элемента "QRCode"
Имя тега | Тип данных | Описание | Используется в алгоритмах |
---|---|---|---|
prescaler | int | Количество пикселей на бит полученного кода | По умолчанию 1 |
error-correction | int | Уровень коррекции ошибок | От 0 (lowest) до 3 (highest). По умолчанию 1.
Level L (Low): up to 7% damage. Level M (Medium): up to 15% damage. Level Q (Quartile):up to 25% damage. Level H (High): up to 30% damage. |
smooth-transformation | bool | Режим масштабирования | Если текст есть, он заменяет генерируемое системой значение в коде |
keep-aspect-ratio | bool | Соблюдение пропорций при масштабировании | Если текст есть, он заменяет генерируемое системой значение в коде |
encode-mode | int | Режим кодирования информации в коде | От 0 до 7 |
text | string | Текст для кодирования в коде | Если текст есть, он заменяет генерируемое системой значение в коде.
Шаблоны используемые при формировании текста:
|
Для элемента "Forms"
Имя тега | Тип данных | Описание | Используется в алгоритмах |
---|---|---|---|
show-time | int | Время показа формы | Используется в форме "Feedback" для ограничения времени вывода |
Описание создания клавиатуры (элементы хххKeyboard)
Данное описание используется при создании трех видов клавиатур:
- Цифровой - для выбора товара по номерам. Элемент: Keyboard
- Фасовочной - для выбора товара по номерам и использования специальных функций. Элемент: PackingKeyboard
- Алфавитной - для алфавитного поиска товаров. Элемент: AlphaKeyboard
Элементов "AlphaKeyboard" может быть несколько.
Для каждого языка ввода создается отдельный элемент.
Переключение между клавиатурами осуществляется кнопкой с типом 21. При нажатии кнопки переключения выбирается следующая клавиатура. При достижении конца списка осуществляется переход на первую клавиатуру в списке.
Основные тэги
Имя тега | Тип данных | Описание | Используется в алгоритмах |
---|---|---|---|
rows | int | Количество рядов клавиатуры | |
button-in-row | int | Количество кнопок в каждом ряду | |
row-x | array | Описание ряда x клавиатуры | |
button-x | array | Описание кнопки x | |
type | int | Тип кнопки | |
name | string | Название (надпись) кнопки | |
picture | string | Картинка кнопки | |
col-in-button | int | Количество занимаемых кнопкой столбцов |
Типы кнопок
Код кнопки | Тип кнопки | Описание | Примечания |
---|---|---|---|
-1 | Пустая | Не используется для нажатия - выводится пустое место | |
0...9 | Цифры | Используется для ввода чисел | |
10 | C | Сброс набранного | |
11 | Ввод | ||
12 | Ноль | ||
13 | Промотка этикетки | ||
14 | Авто печать | ||
15 | Тара | ||
16 | Фикс товара | ||
17 | Итоговая этикетка | ||
18 | Выбор оператора | ||
19 | Буква | Используется для добавления кнопки ввода букв | |
20 | Пробел | ||
21 | Переключение алфавитной клавиатуры (смена языка) |
Стили отображения
При отображении клавиатур можно менять отображение каждой из кнопок с помощью стилей.
Для этого необходимо задать StyleSheet для блока клавиатуры.
Возможны следующие названия для кнопок:
ButtonSwitchLang ButtonClear ButtonPrint ButtonZero ButtonFeed ButtonAutoPrint ButtonTare ButtonFixPLU ButtonTotalLabel ButtonSelectOperator ButtonSpace Цифровые кнопки ButtonX - X заменяется на тип кнопки Алфавитные кнопки ButtonX_Y - X заменяется на тип кнопки, Y заменяется на unicode код буквы в десятичном представлении
Пример:
<StyleSheet><![CDATA[
* { color: rgb(0, 0, 0); font: bold 50pt "Futura PT"; margin: 5px; }
QPushButton { border: 0px; border-style: solid; border-radius: 7px; background-color: #465682; color: white; font: bold 40pt "Futura LT"; qproperty-iconSize: 80px 80px;}
QPushButton#ButtonSwitchLang { color: #ffb722;}
QPushButton#ButtonClear { color: grey; font: bold 40pt "Futura PT"; qproperty-iconSize: 80px 80px; background-color: rgba(230, 230, 230, 0);}
QPushButton#ButtonPrint { background-color: red; color: white; font: bold 45pt "Futura PT"; }
QPushButton#ButtonPrint:hover { background-color: rgb(95, 89, 89); color: rgb(255, 255, 255); }
QPushButton#ButtonClear:hover { background-color: rgba(95, 89, 89,0); color: rgb(255, 255, 255); }
QPushButton:hover { background-color: rgb(95, 89, 89); color: rgb(255, 255, 255); }
]]></StyleSheet>
Пример описания цифровой клавиатуры
"spacing" : 0,
"keyboard-map" : {
"rows" : 4,
"button-in-row" : 3,
"row-1" : {
"button-1" : { "type" : 1 },
"button-2" : { "type" : 2 },
"button-3" : { "type" : 3 },
},
"row-2" : {
"button-1" : { "type" : 4 },
"button-2" : { "type" : 5 },
"button-3" : { "type" : 6 },
},
"row-3" : {
"button-1" : { "type" : 7 },
"button-2" : { "type" : 8 },
"button-3" : { "type" : 9 },
},
"row-4" : {
"button-1" : { "type" : 10, "name" : "", "picture" : "{%algoritm-path%}/backspaceb.png", "col-in-button" : "1" },
"button-2" : { "type" : 0 },
"button-3" : { "type" : 11, "name" : "Ввод", "picture" : " " },
},
}
Пример описания клавиатуры с алфавитом
"autohide-numbersearch" : "false",
"spacing" : 0,
"keyboard-map" : {
"rows" : 7,
"button-in-row" : 5,
"row-1" : {
"button-1" : { "type" : 19, "name" : "а", "picture" : " " },
"button-2" : { "type" : 19, "name" : "б", "picture" : " " },
"button-3" : { "type" : 19, "name" : "в", "picture" : " " },
"button-4" : { "type" : 19, "name" : "г", "picture" : " " },
"button-5" : { "type" : 19, "name" : "д", "picture" : " " },
},
"row-2" : {
"button-1" : { "type" : 19, "name" : "е", "picture" : " " },
"button-2" : { "type" : 19, "name" : "ж", "picture" : " " },
"button-3" : { "type" : 19, "name" : "з", "picture" : " " },
"button-4" : { "type" : 19, "name" : "и", "picture" : " " },
"button-5" : { "type" : 19, "name" : "й", "picture" : " " },
},
"row-3" : {
"button-1" : { "type" : 19, "name" : "к", "picture" : " " },
"button-2" : { "type" : 19, "name" : "л", "picture" : " " },
"button-3" : { "type" : 19, "name" : "м", "picture" : " " },
"button-4" : { "type" : 19, "name" : "н", "picture" : " " },
"button-5" : { "type" : 19, "name" : "о", "picture" : " " },
},
"row-4" : {
"button-1" : { "type" : 19, "name" : "п", "picture" : " " },
"button-2" : { "type" : 19, "name" : "р", "picture" : " " },
"button-3" : { "type" : 19, "name" : "с", "picture" : " " },
"button-4" : { "type" : 19, "name" : "т", "picture" : " " },
"button-5" : { "type" : 19, "name" : "у", "picture" : " " },
},
"row-5" : {
"button-1" : { "type" : 19, "name" : "ф", "picture" : " " },
"button-2" : { "type" : 19, "name" : "х", "picture" : " " },
"button-3" : { "type" : 19, "name" : "ц", "picture" : " " },
"button-4" : { "type" : 19, "name" : "ч", "picture" : " " },
"button-5" : { "type" : 19, "name" : "ш", "picture" : " " },
},
"row-6" : {
"button-1" : { "type" : 19, "name" : "щ", "picture" : " " },
"button-2" : { "type" : 19, "name" : "ы", "picture" : " " },
"button-3" : { "type" : 19, "name" : "ъ", "picture" : " " },
"button-4" : { "type" : 19, "name" : "э", "picture" : " " },
"button-5" : { "type" : 19, "name" : "ю", "picture" : " " },
},
"row-7" : {
"button-1" : { "type" : 10, "name" : "", "picture" : "{%algoritm-path%}/backspaceb.png", "col-in-button" : "4" },
"button-2" : { "type" : 10, "name" : "я", "picture" : " " },
"button-3" : { "type" : 1 },
"button-4" : { "type" : 2 },
"button-5" : { "type" : 19, "name" : "я", "picture" : " " },
},
}