国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Qt + QR-Code-generator 生成二維碼

這篇具有很好參考價(jià)值的文章主要介紹了Qt + QR-Code-generator 生成二維碼。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

0.前言

之前使用 libgrencode 生成二維碼,LGPL 協(xié)議實(shí)在不方便,所以需要找一個(gè) github 星星多的,代碼簡(jiǎn)單最好 header-only,協(xié)議最好是 MIT 或者兼容協(xié)議而不是 GPL 或者 LPGL。

QR-Code-generator 正好符合這個(gè)要求,而且還提供 C / C++ / Java / Python / JS / Rust?等 6 種語(yǔ)言實(shí)現(xiàn),直接把 qrcodegen.hpp / cpp 類文件放到我們項(xiàng)目里就能使用。

庫(kù)鏈接:https://github.com/nayuki/QR-Code-generator

庫(kù)官網(wǎng):https://www.nayuki.io/page/qr-code-generator-library

1.基本使用?

測(cè)試代碼鏈接:https://github.com/gongjianbo/MyTestCode/tree/master/Qt/TestQt_20230711_QRCodeGen

效果展示:

?

測(cè)試代碼:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-554601.html

void MainWindow::generate()
{
    // 使用utf8編碼
    QByteArray str = ui->lineEdit->text().toUtf8();
    const char *text = str.constData();

    // 二維碼有四個(gè)糾錯(cuò)等級(jí),從低到高:L-%7/M-%15/Q-%25/H-%30
    const qrcodegen::QrCode::Ecc level = qrcodegen::QrCode::Ecc::MEDIUM;

    // 生成二維碼
    try
    {
        // 使用簡(jiǎn)易接口,默認(rèn) Version 范圍 min=1, max=40
        // const qrcodegen::QrCode qr = qrcodegen::QrCode::encodeText(text, level);
        // 也可以指定符號(hào)版本,越大可容納的信息越多,如果內(nèi)容超出容量范圍會(huì)拋異常
        // 根據(jù)規(guī)范,Version1 是 21x21,Version2 是 25x25,每增加一個(gè)Version,就比前一版本每邊增加 4 個(gè)模塊
        std::vector<qrcodegen::QrSegment> segs = qrcodegen::QrSegment::makeSegments(text);
        const qrcodegen::QrCode qr = qrcodegen::QrCode::encodeSegments(segs, level, 1, 40);
        const int size = qr.getSize();
        // 填充位圖
        QImage image = QImage(size, size, QImage::Format_Grayscale8);
        for (int row = 0; row < size; ++row)
        {
            uchar *line_ptr = image.scanLine(row);
            for (int col = 0; col < size; ++col)
            {
                line_ptr[col] = (uchar)(qr.getModule(row, col) ? 0x00 : 0xFF);
            }
        }
        // 放大一點(diǎn)看得更清楚
        image = image.scaled(image.width() * 5, image.height() * 5);

        // 生成后可以用手機(jī)掃一掃識(shí)別文字內(nèi)容,注意內(nèi)容為空可能掃不出來(lái)
        ui->label->setPixmap(QPixmap::fromImage(image));
    }
    catch(std::invalid_argument e)
    {
        // 參數(shù)異常,如 minVersion > maxVersion
        qDebug() << "catch invalid_argument" << e.what();
    }
    catch(qrcodegen::data_too_long e)
    {
        // 內(nèi)容太長(zhǎng)
        qDebug() << "catch data_too_long" << e.what();
    }
}

到了這里,關(guān)于Qt + QR-Code-generator 生成二維碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 基于Qt的二維碼生成與識(shí)別

    基于Qt的二維碼生成與識(shí)別

    1.通過(guò)封裝的QZxing開(kāi)源庫(kù)生成和識(shí)別二維碼,下載地址: GitCode - 開(kāi)發(fā)者的代碼家園 https://gitcode.com/mirrors/ftylitak/qzxing/tree/master。 2.下載解壓后,使用Qt Creator xx(qt編程軟件)打開(kāi)src目錄下的QZXing.pro文件并運(yùn)行代碼,在編譯的debug路徑下獲取QZXing3.dll和libQZXing3.a庫(kù)文件。 1.在.

    2024年04月27日
    瀏覽(21)
  • 基于Yolov5的二維碼QR碼識(shí)別

    基于Yolov5的二維碼QR碼識(shí)別

    目錄 1.QR code介紹 ?1.1 通過(guò)split_train_val.py得到trainval.txt、val.txt、test.txt?? 1.2 通過(guò)voc_label.py得到適合yolov5訓(xùn)練需要的 ?2.基于yolov5的QR碼檢測(cè) 2.1配置 QR.yaml 2.2 修改yolov5s_QR.yaml 2.3 訓(xùn)練QR碼檢測(cè)模型 3.性能評(píng)價(jià) 4.QR碼識(shí)別 4.1 轉(zhuǎn)成onnx模型 4.2 基于opencv的QR碼識(shí)別 4.3 基于zbar的QR碼識(shí)

    2024年02月07日
    瀏覽(17)
  • flutter qr_flutter二維碼庫(kù)填充不滿問(wèn)題解決方案

    ?全局搜索找到_PaintMetrics類的_calculateMetrics()方法,將 這一行代碼注釋掉,然后添加_pixelSize = pixelSize這行代碼,完整代碼如下: class _PaintMetrics { ? _PaintMetrics({ ? ? required this.containerSize, ? ? required this.gapSize, ? ? required this.moduleCount, ? }) { ? ? _calculateMetrics(); ? } ? final int

    2024年01月19日
    瀏覽(19)
  • illustrator二維碼生成-免費(fèi)插件-條碼類型及使用范圍介紹-EAN13-UPC-Data Matrix-Code128-Codabar

    illustrator二維碼生成-免費(fèi)插件-條碼類型及使用范圍介紹-EAN13-UPC-Data Matrix-Code128-Codabar

    常用條碼類型對(duì)應(yīng)數(shù)值。 2.1.QRCCode 二維條碼/二維碼(2-dimensional bar code)是用某種特定的幾何圖形按一定規(guī)律在平面(二維方向上)分布的、黑白相間的、記錄數(shù)據(jù)符號(hào)信息的圖形。用途非常廣泛,比如常見(jiàn)的掃碼跳轉(zhuǎn)網(wǎng)址信息。 2.2.PDF417 PDF417條碼是一種高密度、高信息含量

    2024年02月14日
    瀏覽(29)
  • Python實(shí)現(xiàn)PC攝像頭掃描二維碼,讓你的電腦變身QR碼識(shí)讀器!

    Python實(shí)現(xiàn)PC攝像頭掃描二維碼,讓你的電腦變身QR碼識(shí)讀器!

    目錄 簡(jiǎn)介: 源代碼: 源代碼說(shuō)明: 效果如下所示: 使用PC攝像機(jī)掃描二維碼可以有很多應(yīng)用場(chǎng)景,例如: 支付寶、微信支付等移動(dòng)支付方式需要使用二維碼進(jìn)行支付,PC攝像機(jī)可以掃描這些支付二維碼,從而實(shí)現(xiàn)PC端支付功能; 在生產(chǎn)制造過(guò)程中,可以使用二維碼來(lái)管理產(chǎn)

    2024年02月03日
    瀏覽(23)
  • vue批量生成二維碼,打印生成的二維碼,并批量下載生成的二維碼,qrcode

    vue批量生成二維碼,打印生成的二維碼,并批量下載生成的二維碼,qrcode

    通過(guò)使用 qrcode 生成二維碼, 使用 jszip 打包批量二維碼文件, 使用 file-saver 下載打包好的zip文件, 使用 vue-print-nb 打印生成的二維碼 配置項(xiàng): width 二維碼寬度 height 二維碼高度 errorCorrectionLevel 二維碼糾錯(cuò)級(jí)別,指二維碼被遮擋可以掃出結(jié)果的區(qū)域比例 color: 7. 打印生成的二

    2024年02月01日
    瀏覽(31)
  • 二維碼生成&點(diǎn)擊按鈕展示二維碼

    二維碼生成&點(diǎn)擊按鈕展示二維碼

    使用HBuider 1.先安裝插件 (地址 :? https://ext.dcloud.net.cn/plugin?id=1287) 這里直接就安裝到了uni-modules里面了 import uQRCode from ‘@/uni_modules/Sansnn-uQRCode/components/u-qrcode/u-qrcode.vue’ 彈框用到了uni-app提供的uni-popup彈框,把二維碼放到內(nèi)容那塊,替換即可

    2024年02月10日
    瀏覽(23)
  • js生成二維碼和解析二維碼

    這個(gè)整了好久,用的包換了好幾次,所以記錄一下 生成二維碼 解析二維碼 然后是兩個(gè)引入的js reqrcode和qrcode

    2023年04月09日
    瀏覽(28)
  • 生成微信小程序發(fā)布上線后的二維碼 、獲取微信小程序二維碼、微信小程序二維碼如何生成?

    生成微信小程序發(fā)布上線后的二維碼 、獲取微信小程序二維碼、微信小程序二維碼如何生成?

    情景: 1、在微信小程序?qū)徍送瓿?,發(fā)布到線上后,想通過(guò)掃描小程序二維碼進(jìn)入小程序 2、可分享二維碼出去,通過(guò)二維碼掃碼進(jìn)入小程序 方法: 1、進(jìn)入微信小程序的后臺(tái)配置。鏈接:微信公眾平臺(tái)。(如圖一) 2、進(jìn)入 “設(shè)置”?-- “?基本設(shè)置” -- “小程序碼及線下物

    2024年02月12日
    瀏覽(102)
  • AI生成二維碼Stable diffusion生成可識(shí)別二維碼【附完整教程】&【附完整案例】

    最近的炫酷QR比較火,所以今天給大家分享一下如何實(shí)現(xiàn)。首先我們知道QR二維碼已經(jīng)改變了信息的共享和獲取方式。但是,QR碼的視覺(jué)外觀可能并不總是符合設(shè)計(jì)或藝術(shù)品的美學(xué)要求。為了解決這個(gè)問(wèn)題,ControlNet for Stable Diffusion的工具在Stable Diffusion上可以將QR二維碼信息隱藏

    2024年02月16日
    瀏覽(35)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包