当前位置: 首页 > news >正文

宿迁企业做网站万网虚拟主机两个网站

宿迁企业做网站,万网虚拟主机两个网站,新沂市网站建设,浏览器下载安装大全免费下载前言 之前写过二维码的程序#xff0c;但是在U盘上#xff0c;没带#xff0c;又重新找的网上资料写的。 网上二维码的生成#xff0c;大多用到是第三方库libqrencode,这也一样#xff1a; 效果图 本来是个动图的#xff0c;都被和谐了#xff0c;所以换成截图…前言 之前写过二维码的程序但是在U盘上没带又重新找的网上资料写的。 网上二维码的生成大多用到是第三方库libqrencode,这也一样 效果图 本来是个动图的都被和谐了所以换成截图而且还打码了。效果是二维码放在一个对话框里可以移动但是不可关闭得靠代码逻辑控制关闭。 参考 主要参考下面的博客这个作者写的很详细给了第三库的下载路径编译和使用示例我在其基础上对二维码的显示形式进行了点修改使其更为符合我的项目要求。 Qt libqrencode 生成二维码_龚建波的博客-CSDN博客 犹豫担心后面此文章链接失效所以我还是对其进行了简单的记录。 libqrencode地址 官网地址 libqrencode 我是在github上下载的源码GitHub - fukuchi/libqrencode: A fast and compact QR Code encoding library cmake编译libqrencode 使用代码 自己封装了一个类QRCodeDialog用来显示二维码对话框在参考博客代码的基础上进行了一些更改比如二维码大小根据控件大小调整二维码形状为正方形等具体代码如下ps:这里只特别浅显的使用了一下具体关于库libqrencode的api并没有学习 主要是用到了libqrencode里的函数 /**** QRcode_encodeString 从字符串创建一个符号。库自动解析输入字符串并在二维码符号中编码.* warning 禁用pthread时线程不安全.* param string NUL(\0)结尾的C字符串.* param version 符号版本.越大可容纳的信息越多.0则按实际内容确定* param level 纠错等级枚举.* param hint 编码模式utf8用QR_MODE_8.* param casesensitive 区分大小写(1) 不区分(0).* return 返回QRcode类的实例。结果QRcode的版本可能是大于指定的版本.* 出现错误时返回NULL设置errno以指示错误.* throw EINVAL invalid input object.* throw ENOMEM unable to allocate memory for input objects.* throw ERANGE input data is too large.*/ QRcode *QRcode_encodeString(const char *string, int version, QRecLevel level, QRencodeMode hint, int casesensitive); .h 文件 #ifndef QRCODEDIALOG_H #define QRCODEDIALOG_H#include QDialog #include QResizeEvent #includeqrencode.h #includeQMouseEventnamespace Ui { class QRCodeDialog; }class QRCodeDialog : public QDialog {Q_OBJECTpublic:explicit QRCodeDialog(QWidget *parent 0);~QRCodeDialog();/*** brief setQRCodeInfo 设置二维码信息* param info 内容* param casesensitive 区分大小写(1) 不区分(0).*/void setQRCodeInfo(const QString info, int casesensitive 1);protected:void resizeEvent(QResizeEvent* event)override;...private:QImage qrEncode(const QString info, int casesensitive 1);private:Ui::QRCodeDialog *ui;QString m_strInfo;int m_iCasesensitive;... };#endif // QRCODEDIALOG_H.cpp文件 #include QRCodeDialog.h #include ui_QRCodeDialog.h#include QPainter #includeQDebugQRCodeDialog::QRCodeDialog(QWidget *parent) :QDialog(parent),ui(new Ui::QRCodeDialog),m_iCasesensitive(1) {ui-setupUi(this);setModal(true);setWindowFlags(Qt::FramelessWindowHint | Qt::Tool|windowFlags());ui-label-setAlignment(Qt::AlignCenter);}QRCodeDialog::~QRCodeDialog() {delete ui; }void QRCodeDialog::setQRCodeInfo(const QString info, int casesensitive) {m_strInfoinfo;m_iCasesensitivecasesensitive; }void QRCodeDialog::resizeEvent(QResizeEvent *event) {if(!m_strInfo.isEmpty()){QImage img qrEncode(m_strInfo,m_iCasesensitive);QPixmap pixQPixmap::fromImage(img);int widthqMin(ui-label-width(),ui-label-height());pixpix.scaled(width,width);//ui-label-setPixmap(QPixmap::fromImage(img));ui-label-setPixmap(pix);}QDialog::resizeEvent(event); }QImage QRCodeDialog::qrEncode(const QString info, int casesensitive) {QImage ret; //放二维码图片结果int scale 4; //方块绘制大小QByteArray info_data info.toUtf8();QRcode* qr QRcode_encodeString(info_data.constData(), 0, QR_ECLEVEL_Q, QR_MODE_8, casesensitive);if (qr qr-width 0){int img_width qr-width * scale;ret QImage(img_width, img_width, QImage::Format_Mono); //mono位图QPainter painter(ret);painter.fillRect(0, 0, img_width, img_width, Qt::white);//背景填充白色painter.setPen(Qt::NoPen);painter.setBrush(Qt::red); //黑色方块for (int y 0; y qr-width; y) //行{for (int x 0; x qr-width; x) //列{if (qr-data[y * qr-width x] 1) //1表示黑块{QRect r(x * scale, y * scale, scale, scale);painter.drawRect(r);}}}QRcode_free(qr);}return ret; }上面绘制的是黑白色若是想改变颜色当然也是可以的 调整QImage的格式上面代码用的是QImage::Format_Mono即为通常所讲的位图模式若是此模式下即使改变QPainter刷子的颜色也是无法改变绘制的方块颜色所以这里改一下 ret QImage(img_width, img_width,QImage::Format_RGB32 ); 修改背景颜色 painter.fillRect(0, 0, img_width, img_width,QColor(167,220,237)); 修改方块的颜色 painter.setBrush(Qt::blue); 最终效果是这样的 结束语 记录一下吧省的又忘了。
http://www.w-s-a.com/news/191827/

相关文章:

  • 园林景观设计案例网站wordpress 文章内容页
  • 网站什么做才会更吸引客户楚雄网站开发rewlkj
  • 电商网站构建预算方案视频制作网站怎么做
  • 包装设计灵感网站ps软件下载电脑版多少钱
  • 手机网站图片做多大原网站开发新功能
  • 网站设计培训成都陕西网站建设公司哪有
  • expedia电子商务网站建设辽宁网站设计
  • 深圳网站建设网站运营绥芬河市建设局网站
  • 家政服务网站做推广有效果吗做图软件ps下载网站有哪些
  • 北京市建设教育协会网站flash网站制作单选框和复选框ui组件
  • 国外有没有做问卷调查的网站网站网页怎么做
  • 简单个人网站模板下载网站建设整体情况介绍
  • 网站建设做到哪些内容荆门网站建设电话咨询
  • 玉树网站建设公司双11主机 wordpress 2015
  • dw做网站背景图片设置汕头seo管理
  • 个人又什么办法做企业网站唐山哪里建轻轨和地铁
  • 手机网站404页面室内设计公司排名前100
  • 做民宿需要和多家网站合作吗创建软件的步骤
  • 网站导航栏设计要求辽宁省住房和城乡建设厅
  • 海外网站平台腾讯营销平台
  • 东道网站建设良品铺子网络营销案例
  • 免费企业查询软件优化模型
  • 兰亭集势的网站平台建设凡科网站免费版怎么做
  • 在网站做推广要钱吗网站根目录是哪个文件夹
  • 网站建设如何弄链接海外vps一键配置WordPress
  • 1个ip可以做几个网站吗动画制作可以自学吗
  • 顺德建设局网站如何搭建网站
  • 精品网站建设费用 干净磐石网络网页制作简单作业
  • 网站建设需要用软件群晖怎样做网站
  • 网站建设公司有哪博客网站建设方案书