QML-тип QrFilter
QML-тип QrFilter позволяет приложению распознавать в видеопотоке QR-коды и некоторые другие баркоды. Подробнее...
Строка импорта: | import Amber.QrFilter 1.0 |
Наследуется от: | QAbstractVideoFilter |
Свойства
Сигналы
- formatChanged()
- resultChanged(string result)
Методы
Подробное описание
Тип QrFilter предоставляет QML-приложению возможность автоматически распознавать и декодировать QR-коды, появляющиеся в видеопотоке от камеры устройства. Этот компонент является частью механизма фильтров VideoOutput.
QrFilter определяет набор констант,
задающих типы распознаваемых QR-кодов или баркодов
(используются в свойстве format
):
Значение | Тип QR-кода | 1D/2D |
---|---|---|
QrFilter.AZTEC |
Aztec | 2D |
QrFilter.CODABAR |
ODABAR | 1D |
QrFilter.CODE_39 |
Code 39 | 1D |
QrFilter.CODE_93 |
Code 93 | 1D |
QrFilter.CODE_128 |
Code 128 | 1D |
QrFilter.DATA_MATRIX |
Data Matrix | 2D |
QrFilter.EAN_8 |
EAN-8 | 1D |
QrFilter.EAN_13 |
EAN-13 | 1D |
QrFilter.ITF |
Interleaved Two of Five | 1D |
QrFilter.MAXICODE |
MaxiCode | 2D |
QrFilter.PDF_417 |
PDF417 | 1D/2D |
QrFilter.QR_CODE |
QR Code | 2D |
QrFilter.RSS_14 |
RSS 14 | |
QrFilter.RSS_EXPANDED |
RSS EXPANDED | |
QrFilter.UPC_A |
UPC-A | 1D |
QrFilter.UPC_E |
UPC-E | 1D |
QrFilter.UPC_EAN_EXTENSION |
расширение UPC/EAN, используется только в сочетании с другими значениями | 1D |
Чтобы добавить фильтр:
import Amber.QrFilter 1.0
VideoOutput {
id: videoOutput
filters: [ qrFilter ]
}
QrFilter {
id: qrFilter
format: QrFilter.QR_CODE
}
QrFilter
наследует свойства и другие члены от класса QAbstractVideoFilter
,
например, свойство текущего состояния active
:
QrFilter {
id: qrFilter
format: QrFilter.QR_CODE
active: camera.mode == "image" // enable filter only on image mode
}
В дополнение к этому QrFilter
предоставляет для чтения свойство result
,
в котором сохраняется результат распознавания,
и метод clearResult()
, который очищает значение свойства result
.
property string passResult
VideoOutput {
id: videoOutput
filters: [ qrFilter ]
}
QrFilter {
id: qrFilter
format: QrFilter.QR_CODE | QrFilter.AZTEC | QrFilter.DATA_MATRIX
}
Button {
visible: qrFilter.result.length !== 0 ? 1.0 : 0.0
onClicked: {
passResult = qrFilter.result
qrFilter.clearResult()
}
}
Описание свойств
format
Битовая маска, указывающая модулю какие типы QR-кодов следует распознавать и декодировать. Может содержать значение равное одной из вышеописанных констант или сумме из нескольких.
result
Результат последнего успешного распознавания QR-кода из видеопотока.
Пример:
property string passResult
Camera {
id: camera
flash.mode: Camera.FlashOff
focus.focusMode: Camera.FocusContinuous
}
VideoOutput {
id: videoOutput
filters: [ qrFilter ]
source: camera
}
QrFilter {
id: qrFilter
format: QrFilter.QR_CODE | QrFilter.AZTEC | QrFilter.DATA_MATRIX
}
Button {
visible: qrFilter.result.length !== 0 ? 1.0 : 0.0
onClicked: {
passResult = qrFilter.result
qrFilter.clearResult()
}
}
Следует отметить, что при использовании камеры в качестве источника для VideoOutput
можно успешно распознать изображение, только сфокусировавшись.
Например, можно явно установить камере автофокус, как это сделано в примере выше.
Описание сигналов
formatChanged()
Испускается при изменении формата распознаваемых QR-кодов.
resultChanged()
Испускается при изменении значения результата распознавания.
Описание методов
clearResult()
Сбрасывает значение свойства result, устанавливая его равным пустой строке.