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, устанавливая его равным пустой строке.