SkillAgentSearch skills...

QmlMobileScanner

Barcode & QR code reader/writer based on qzxing, zxing-cpp and zint libraries

Install / Use

/learn @emericg/QmlMobileScanner
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

QmlMobileScanner

GitHub action GitHub issues License: GPL v3

QmlMobileScanner is a DEMO barcode & QR code scanner based on qzxing and zxing-cpp libraries to scan and generate barcodes, and zint to generate some extra formats.

Qt 6.8+, Qt Multimedia (with ffmpeg backend) and CMake are needed.
Qt 6 major and minor versions are full of API and build breakages, it's just not feasible for me to support a matrix of different versions or build systems, sorry.

Available backends:

  • zxing-cpp / v3.0.2 + custom QML integration
  • QZXing / v3.3.0 + Qt6 port + many patches
  • zint / v2.16 + custom QML integration

Works on Android and iOS!

Works on Linux, macOS, Windows too!

Features

  • UIs
    • [x] Phone UI
    • [x] Tablet UI
    • [x] Desktop UI
  • General features
    • [x] Barcode reader
      • [x] Multi camera support
      • [x] Read from picture (WIP)
    • [x] Barcode writer
      • [x] Save to picture (WIP)
      • [x] Save to vector (WIP)
    • [x] Barcodes history

Supported Formats (zint)

zint is a barcode encoding library supporting over 50 symbologies including Code 128, Data Matrix, USPS OneCode, EAN-128, UPC/EAN, ITF, QR Code, Code 16k, PDF417, MicroPDF417, LOGMARS, Maxicode, GS1 DataBar, Aztec, Composite Symbols and more.

Supported Formats (zxing-cpp)

zxing-cpp is an open-source, multi-format linear/matrix barcode image processing library implemented in C++.

| Linear / 1D barcodes | Matrix / 2D barcodes | | -------------------- | -------------------- | | UPC-A | QR Code | | UPC-E | Micro QR Code | | EAN-8 | rMQR Code | | EAN-13 | Aztec Code | | DataBar | Aztec Rune | | DataBar Expanded | Data Matrix | | DataBar Limited | PDF417 | | Code 39 | Compact PDF417 | | Code 93 | MicroPDF417 | | Code 128 (GS1) | MaxiCode (partial) | | Codabar | DX Film Edge | | ITF | |

Supported Formats (QZXing)

QZXing is a Qt/QML wrapper library for the ZXing barcode image processing library.

QZXing still works fine, but is considered deprecated

| Linear / 1D barcodes | Matrix / 2D barcodes | | -------------------- | -------------------- | | UPC-A | QR Code | | UPC-E | Data Matrix | | EAN-8 | PDF417 | | EAN-13 | Aztec (beta) | | Code 39 | | | Code 93 | | | Code 128 (GS1) | | | Codabar | | | ITF | |

Documentation

Dependencies

You will need a C++20 compiler and Qt 6.8+ with the following 'additional librairies':

  • Qt Multimedia
  • Qt Positioning

For macOS and iOS builds, you'll need Xcode (15+) installed.
For Windows builds, you'll need MSVC (2022) installed.
For Android builds, you'll need the appropriates JDK (17) SDK (28+) and NDK (28+). You can customize Android build environment using the assets/android/gradle.properties file.

Building QmlMobileScanner

$ git clone https://github.com/emericg/QmlMobileScanner.git
$ cd QmlMobileScanner/
$ cmake -B build/
$ cmake --build build/

Screenshots

GUI_MOBILE

GUI_DESKTOP

Third party projects used by QmlMobileScanner

Get involved!

Developers

You can browse the code on the GitHub page, submit patches and pull requests! Your help would be greatly appreciated ;-)

Users

You can help us find and report bugs, suggest new features, help with translation, documentation and more! Visit the Issues section of the GitHub page to start!

License

QmlMobileScanner is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
Read the LICENSE file or consult the license on the FSF website directly.

Emeric Grange emeric.grange@gmail.com

View on GitHub
GitHub Stars19
CategoryDevelopment
Updated10d ago
Forks0

Languages

QML

Security Score

95/100

Audited on Mar 26, 2026

No findings