中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

網(wǎng)站域名包括品牌推廣策劃方案

網(wǎng)站域名包括,品牌推廣策劃方案,技術(shù)支持 深圳網(wǎng)站建設(shè)貝爾利,flash教程網(wǎng)站首頁目錄 1.QRencode簡介 2.編譯qrencode 3.在Qt中直接使用QRencode源碼 3.1.添加源碼 3.2.用字符串生成二維碼 3.3.用二進(jìn)制數(shù)據(jù)生成二維碼 3.4.界面設(shè)計(jì) 3.5.效果展示 4.注意事項(xiàng) 5.源碼下載 1.QRencode簡介 QRencode是一個(gè)開源的庫,專門用于生成二維碼&…

目錄

1.QRencode簡介

2.編譯qrencode

3.在Qt中直接使用QRencode源碼

3.1.添加源碼

3.2.用字符串生成二維碼

3.3.用二進(jìn)制數(shù)據(jù)生成二維碼

3.4.界面設(shè)計(jì)

3.5.效果展示

4.注意事項(xiàng)

5.源碼下載


1.QRencode簡介

????????QRencode是一個(gè)開源的庫,專門用于生成二維碼(QR Code)。它支持多種編程語言的接口,包括C、C++、Python等。QR碼是一種矩陣式二維碼,常用于存儲(chǔ)網(wǎng)址、聯(lián)系信息、文字信息等,廣泛應(yīng)用于各種場景,如產(chǎn)品追蹤、廣告宣傳、文檔管理等。

????????QRencode的設(shè)計(jì)簡潔高效,提供了易于使用的API接口,使得開發(fā)者能夠輕松地在應(yīng)用程序中集成QR碼生成和處理功能。

? ? ? ? 它的官網(wǎng):libqrencode

????????特性與優(yōu)勢

  1. 輸出格式:庫支持生成多種格式的輸出,包括PNG圖片、SVG矢量圖、ASCII文本形式的二維碼等,這取決于庫的具體實(shí)現(xiàn)和使用的接口。
  2. C++接口:對(duì)于C++,qrencode提供了豐富的類和方法來方便地生成二維碼。用戶可以創(chuàng)建一個(gè)QRcode對(duì)象,向其中添加數(shù)據(jù),然后將其渲染成所需的格式。
  3. 跨平臺(tái)qrencode庫是跨平臺(tái)的,可以在多種操作系統(tǒng)上編譯和使用,包括Windows、Linux、macOS等。
  4. 生成能力qrencode庫能夠生成不同版本和糾錯(cuò)級(jí)別的QR碼,支持從最小的版本1(21x21的模塊)到最高的版本40(177x177的模塊),并且可以根據(jù)需要調(diào)整糾錯(cuò)等級(jí)(L、M、Q、H)。
  5. C接口:對(duì)于C語言使用者,qrencode也提供了函數(shù)接口,通過這些函數(shù)可以直接操作二維碼數(shù)據(jù)結(jié)構(gòu),進(jìn)行編碼和輸出。
  6. 依賴:在某些情況下,如生成PNG圖片輸出時(shí),qrencode可能需要額外的依賴,如libpngzlib庫。

2.編譯qrencode

  1. 下載源代碼
  2. 將qrencode-4.1.1解壓后,創(chuàng)建一個(gè)build文件夾;

  3. 打開Cmake,將qrencode-4.1.1文件夾下的CMakeLists.txt文件拖入CMake中;

  4. 點(diǎn)擊【Configure】;

  5. 這里我選擇了MSVC2017-64編譯器,點(diǎn)擊【Finish】;

? 6.如下圖所示進(jìn)行配置,配置不正確會(huì)由于沒有準(zhǔn)備依賴而報(bào)錯(cuò);

  1. 設(shè)置編譯后的安裝路徑為C:/Users/MHF/Downloads/qrencode-4.1.1/QRencode
  2. 勾選WITHOUT_PNG,表示不支持png;
  3. 取消勾選WITH_TOOLS,否則會(huì)報(bào)錯(cuò)。

? 7.然后點(diǎn)擊【Generate】、【Open Project】打開VS;

? 8.鼠標(biāo)右鍵選擇【ALL_BUILD】,點(diǎn)擊【生成】,然后選擇【INSTALL】,點(diǎn)擊【生成】;

? 9.就可以在安裝路徑下生成編譯好的文件了;

? 在QT中引入編譯為靜態(tài)庫的QRencode

  • 創(chuàng)建一個(gè)工程,將編譯后的QRencode文件夾復(fù)制到工程中;

  • 在工程的pro文件中添加下列代碼;

CONFIG(debug, debug|release): {
LIBS += -L$$PWD/QRencode/lib/ -lqrencoded
}else{
LIBS += -L$$PWD/QRencode/lib/ -lqrencode
}
INCLUDEPATH += $$PWD/QRencode/include
DEPENDPATH += $$PWD/QRencode/include

3.在Qt中直接使用QRencode源碼

3.1.添加源碼

  • 將qrencode-4.1.1文件夾中除了.h、.c、config.h.in外的文件刪除,文件夾也刪除,qrenc.c也刪除;

  • config.h.in重命名為config.h

  • 在pro文件中添加所有.h 、.c文件

  • 注意:還需要添加DEFINES += HAVE_CONFIG_H

  • 編譯后會(huì)報(bào)錯(cuò)error: C2065: “MAJOR_VERSION”: 未聲明的標(biāo)識(shí)符

  • 打開config.h文件,如下圖所示;

  • MAJOR_VERSIONMICRO_VERSION、MINOR_VERSION、VERSION四項(xiàng)修改為如下所示,與自己下載的版本號(hào)相同;

  • 然后就可以正常編譯了;

3.2.用字符串生成二維碼

????????使用?QRcode_encodeString?或其他相關(guān)函數(shù)來生成二維碼數(shù)據(jù)。這個(gè)函數(shù)會(huì)返回一個(gè)?QRcode?結(jié)構(gòu)體,其中包含了二維碼的像素?cái)?shù)據(jù)。將?QRcode?結(jié)構(gòu)體中的數(shù)據(jù)轉(zhuǎn)換為圖像格式,以便在屏幕上顯示或打印出來。通常,你會(huì)遍歷二維碼的每個(gè)像素,并根據(jù)像素值(0 或 1)來設(shè)置圖像的對(duì)應(yīng)像素為黑色或白色。

void QRCodeDemo::setCodeString(const QString& strCodeString)
{m_strCodeString = strCodeString;
}void QRCodeDemo::paintEvent(QPaintEvent *event)
{QRcode *qrcode;qrcode = QRcode_encodeString(m_strCodeString.toStdString().c_str(), 2, QR_ECLEVEL_Q, QR_MODE_8, 1);if (nullptr == qrcode){return QWidget::paintEvent(event);}qint32 temp_width = ui.label->width();qint32 temp_height = ui.label->height();qint32 qrcode_width = qrcode->width > 0 ? qrcode->width : 1;double scale_x = (double)temp_width / (double)qrcode_width;double scale_y = (double)temp_height / (double)qrcode_width;//QImage mainimg = QImage(temp_width, temp_height, QImage::Format_ARGB32);m_qrcodeImage = QImage(temp_width, temp_height, QImage::Format_ARGB32);QPainter painter(&m_qrcodeImage);QColor background(Qt::white);painter.setBrush(background);painter.setPen(Qt::NoPen);painter.drawRect(0, 0, temp_width, temp_height);QColor foreground(QColor("#002266")); // 二維碼顏色painter.setBrush(foreground);qDebug()<<qrcode_width<<qrcode_width;for (qint32 y = 0; y < qrcode_width; y++){for (qint32 x = 0; x < qrcode_width; x++){unsigned char b = qrcode->data[y*qrcode_width + x];if (b & 0x01){QRectF r(x*scale_x, y*scale_y, scale_x, scale_y);painter.drawRects(&r, 1);}}}ui.label->setPixmap(QPixmap::fromImage(m_qrcodeImage));return QWidget::paintEvent(event);
}void QRCodeDemo::on_pushButton_clicked()
{setCodeString(ui.lineEdit->text());
}

? ? ? ? 保存二維碼圖片:

void QRCodeDemo::on_pushButton_2_clicked()
{QString path("./12334434556.jpg");m_qrcodeImage.save(path);
}

3.3.用二進(jìn)制數(shù)據(jù)生成二維碼

????????調(diào)用?QRcode_encodeData?可以把圖片或其它二進(jìn)制類型的數(shù)據(jù)轉(zhuǎn)換為二維碼,使用起來比較簡單,在這里就不多距離了。

3.4.界面設(shè)計(jì)

通過Qt Designer設(shè)計(jì)程序界面,包括:

  • 一個(gè)輸入框,用于接收用戶輸入的內(nèi)容。

  • 一個(gè)按鈕,用戶點(diǎn)擊后觸發(fā)二維碼生成。

  • 一個(gè)顯示區(qū)域,用于實(shí)時(shí)展示生成的二維碼。

  • 一個(gè)按鈕,用戶點(diǎn)擊后保存二維碼,這個(gè)按鈕是動(dòng)態(tài)生成的。

3.5.效果展示

程序運(yùn)行效果如下圖所示:

點(diǎn)擊保存按鈕,會(huì)在當(dāng)前運(yùn)行目錄下生成相應(yīng)的二維碼圖片:

4.注意事項(xiàng)

  • 二維碼無法識(shí)別:可能是由于二維碼生成時(shí)參數(shù)設(shè)置不當(dāng)(如版本過低、容錯(cuò)率過低等)或二維碼圖像質(zhì)量不佳(如模糊、破損等)導(dǎo)致的。解決方案是調(diào)整參數(shù)或提高圖像質(zhì)量。
  • 庫依賴問題:在編譯或運(yùn)行QRencode時(shí)可能會(huì)遇到庫依賴問題。解決方案是確保系統(tǒng)中已安裝所有必要的庫文件,并使用包管理器進(jìn)行管理和更新。
  • 錯(cuò)誤處理:在實(shí)際應(yīng)用中,你應(yīng)該添加更多的錯(cuò)誤處理代碼,比如檢查QRcode_encodeString的返回值是否為NULL,以及處理任何可能的異?;蝈e(cuò)誤情況。

5.源碼下載

所有代碼都是在QT5.12.12版本基礎(chǔ)上編譯的。

您可以通過以下鏈接下載本項(xiàng)目的源碼:

通過網(wǎng)盤分享的文件:CreateQrcode_new.zip
鏈接: https://pan.baidu.com/s/1czmd-o_0Rcp06xDvJzKcVw?pwd=ben7 提取碼: ben7

參考:

1.二維碼的原理竟如此簡單,第一次有人說的這么明白?

http://www.risenshineclean.com/news/11586.html

相關(guān)文章:

  • 剛出來的前端工資多少百度seo營銷推廣
  • wordpress儀表盤添加內(nèi)容seo關(guān)鍵詞優(yōu)化服務(wù)
  • 智慧建設(shè)網(wǎng)站正規(guī)淘寶代運(yùn)營去哪里找
  • 企業(yè)網(wǎng)站建設(shè)示范平臺(tái)谷歌瀏覽器搜索入口
  • 西安做網(wǎng)站優(yōu)化百度一下電腦版首頁
  • 網(wǎng)站建設(shè)需求表網(wǎng)站推廣方式組合
  • 委外網(wǎng)站開發(fā)合同模板什么軟件可以發(fā)布廣告信息
  • 政府門戶網(wǎng)站的建設(shè)方案百度指數(shù)上多少就算熱詞
  • 出口貿(mào)易網(wǎng)站網(wǎng)站推廣工具有哪些
  • 一鍵優(yōu)化下載安裝百度seo排名點(diǎn)擊
  • 知乎企業(yè)網(wǎng)站建設(shè)免費(fèi)網(wǎng)絡(luò)項(xiàng)目資源網(wǎng)
  • 找出網(wǎng)站所有死鏈接搜關(guān)鍵詞網(wǎng)站
  • 網(wǎng)站商務(wù)通登陸不上域名在線查詢
  • 自己做網(wǎng)站的過程徐州百度推廣公司
  • 醫(yī)院網(wǎng)站建設(shè)的資料2022年十大網(wǎng)絡(luò)流行語發(fā)布
  • wordpress退貨插件北京百度seo排名點(diǎn)擊軟件
  • dw做的網(wǎng)站怎么做后臺(tái)企業(yè)中層管理人員培訓(xùn)課程
  • 網(wǎng)站建設(shè)明薇通網(wǎng)絡(luò)天津seo建站
  • php網(wǎng)站如何編輯推廣方案的內(nèi)容有哪些
  • 云南網(wǎng)站建設(shè)專家百度搜索大全
  • 中山百度網(wǎng)站排名網(wǎng)頁百度網(wǎng)盤
  • 機(jī)械類外貿(mào)網(wǎng)站建設(shè)站長之家工具
  • 社交網(wǎng)站上的商城怎么做淘寶店鋪如何推廣
  • eclipse 網(wǎng)站開發(fā)教程臺(tái)州關(guān)鍵詞優(yōu)化平臺(tái)
  • 網(wǎng)站頁面一般以多大標(biāo)準(zhǔn)做合適百度站長收錄提交入口
  • 海宏集團(tuán)網(wǎng)站建設(shè)朋友圈網(wǎng)絡(luò)營銷
  • 中國航發(fā)網(wǎng)上商城客服電話快手seo
  • WordPress批量掃描谷歌seo代運(yùn)營
  • 重慶網(wǎng)站推百度網(wǎng)盤seo優(yōu)化
  • 小程序免費(fèi)制作網(wǎng)站2021年10月新聞?wù)?/a>