qt生成二维码
2018-10-19 06:11:57来源:博客园 阅读 ()
到官网下载qrencode
qrenc.c不用,这个是测试用的,把config.h.in文件改为config.h文件,把.h文件和.cpp文件导入,在整个项目的pro文件中加入
#include "qrcode/qrencode.h" void MainWindow::GenerateQRcode(QString tempstr) { QRcode *qrcode; qrcode=QRcode_encodeString(tempstr.toStdString().c_str(),2,QR_ECLEVEL_Q,QR_MODE_8,1); qint32 temp_width=ui->label->width(); qint32 temp_height=ui->label->height(); qDebug()<<"temp_width="<<temp_width<<";temp_height="<<temp_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); QPainter painter(&mainimg); QColor background(Qt::white); painter.setBrush(background); painter.setPen(Qt::NoPen); painter.drawRect(0,0,temp_width,temp_height); QColor foreground(Qt::black); painter.setBrush(foreground); 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); } } } QPixmap mainmap=QPixmap::fromImage(mainimg); QLabel *plabel = new QLabel(); plabel->setPixmap(mainmap); plabel->setVisible(true); }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 复习C++语法--基础篇 2020-05-27
- PC微信获取登录二维码 2020-05-18
- 前缀和 2020-05-04
- C++生成随机数 2020-04-18
- 括号生成 2020-04-09
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash