Документация
ОС Аврора 5.1.0

QML-тип QrFilter

QML-тип QrFilter позволяет приложению распознавать в видеопотоке QR-коды и некоторые другие баркоды. Подробнее...

Строка импорта: import Amber.QrFilter 1.0
Наследуется от: QAbstractVideoFilter

Свойства

Сигналы

Методы

Подробное описание

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

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.