里飞网

 找回密码
 立即注册

QT二维码,可直接使用

查看数: 7659 | 评论数: 1 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-11-11 14:25

正文摘要:

本帖最后由 阿里兄 于 2021-12-28 14:50 编辑 1、qr.pri添加到pro工程。 include     ($PWD/qr/qr.pri) INCLUDEPATH += $PWD/qr复制代码新的QT可能需要换一种添加方法(如下): include  ...

回复

阿里兄 发表于 2020-5-11 08:54:40
有一个小BUG,画的二维码没有居中显示,修改qrwidget.cpp文件里面的void QRWidget::draw(QPainter &painter, int width, int height)函数,修改如下
  1. void QRWidget::draw(QPainter &painter, int width, int height)
  2. {
  3.     QColor foreground(Qt::black);
  4.     painter.setBrush(foreground);
  5.     const int qr_width = qr->width > 0 ? qr->width : 1;
  6.     double scale_x = width / qr_width;
  7.     double scale_y = height / qr_width;

  8.     int sx = (width-qr_width*scale_x)/2;
  9.     int sy = (height-qr_width*scale_y)/2;
  10.     for( int y = 0; y < qr_width; y ++)
  11.     {
  12.         for(int x = 0; x < qr_width; x++)
  13.         {
  14.             unsigned char b = qr->data[y * qr_width + x];
  15.             if(b & 0x01)
  16.             {
  17.                 QRectF r(x * scale_x+sx, y * scale_y+sy, scale_x, scale_y);
  18.                 painter.drawRects(&r, 1);
  19.             }
  20.         }
  21.     }
  22. }
复制代码

QQ|Archiver|手机版|小黑屋|里飞网  

GMT+8, 2024-11-23 15:23 , Processed in 0.067780 second(s), 7 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表