资源简介
基于的Qt 实现的二维码 打印软件,可实现 以毫米为单位的 位置调整

代码片段和文件信息
#include “barcodeprinter.h“
#include
#include
BarcodePrinter::BarcodePrinter(Qobject *parent) :
Qobject(parent)
printerConfigured(FALSE)
{
//
mode = MODE_8;
level = LEVEL_L;//LEVEL_Q;//纠错
foreground = QColor(“black“);
background = QColor(“white“);
casesen=true;
mPrinter = new QPrinter(QPrinter::PrinterResolution);
//mode QR码支持编码的内容包括纯数字、数字和字符混合编码、8位字节码和包含汉字在内的多字节字符。其中:
// 数字:每三个为一组压缩成10bit。
//字母数字混合:每两个为一组,压缩成11bit。
//8bit字节数据:无压缩直接保存。
//多字节字符:每一个字符被压缩成13bit。
}
QStringList BarcodePrinter::getAvailablePrinters()
{
QStringList availablePrinters;
QPrinterInfo pInfo;
foreach (QPrinterInfo info pInfo.availablePrinters()) {
availablePrinters << info.printerName();
}
return availablePrinters;
}
bool BarcodePrinter::configurePrinter(QString printerName)
{
bool printerAvailable = getAvailablePrinters().contains(printerName);
if(printerAvailable)
{
mPrinter->setPrinterName(printerName);
configurePage();
qDebug() << “Printer initialized. State:“ + mPrinter->printerState();
}
else //If the printer is unavailable generate pdf instead
{
//mPrinter.setOutputFileName(“barcode.pdf“);
// mPrinter.setOutputFormat(QPrinter::PdfFormat);
configurePage();
qDebug() << “Printer initialized to generate pdf“;
}
printerConfigured = TRUE;
return printerAvailable;
}
void BarcodePrinter::Delay_MSec_Suspend(unsigned int msec)
{
QTime _Timer = QTime::currentTime();
QTime _NowTimer;
do{
_NowTimer=QTime::currentTime();
}while (_Timer.msecsTo(_NowTimer)<=msec);
}
void BarcodePrinter::printBarcode(QString codeText)
{
if(!printerConfigured)
{
qDebug() << “Printer not configured abort.“;
return;
}
qDebug() << “Printing : \““ + codeText + “\“ ...“;
double MmToDot =12 ;//分辨率/24.5MM 每毫米多少像素点 。 300/24.5 8; //Printer DPI = 203 => 8 dots per mm
QPainter painter(mPrinter);
//文字 x:3mm y:27mm 宽:28mm 高:4mm
double codeTextX=0*MmToDot;
double codeTextY=24*MmToDot;
double codeTextW=28*MmToDot;
double codeTextH=4*MmToDot;
QRect codeTextRect = QRect(codeTextXcodeTextYcodeTextWcodeTextH);
painter.setFont(QFont(“Microsoft YaHei“ 8 QFont::Normal));
painter.drawText(codeTextRect Qt::AlignCenter codeText);
//二维码图片 x:42mm y:17mm 宽::14MM 高:14mm
double qrcodeX =35*MmToDot;
double qrcodeY =17*MmToDot;
double qrcodeW =10*MmToDot;
double qrcodeH =10*MmToDot;
//ver 1 版本越高,意味着存储的内容越多,纠错能力也越强
QRcode *qrcode = QRcode_encodeString(codeText.toStdString().c_str() 1 (QRecLevel)level (QRencodeMode)mode casesen ? 1 : 0);
int margin=0;
if(0 != qrcode)
{
unsigned char *point = qrcode->data;
painter.setPen(Qt::NoPen);
painter.setBrush(this->background);
painter.drawRect(qrcodeXqrcodeY qrcodeW qrcodeH);
doubl
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4953 2018-02-09 11:04 Qt-barcode-master\barcode.pdf
文件 5809 2018-02-09 13:17 Qt-barcode-master\barcodeprinter.cpp
文件 1791 2018-02-09 12:25 Qt-barcode-master\barcodeprinter.h
文件 7932 2017-09-10 23:43 Qt-barcode-master\code128.ttf
文件 461 2018-02-09 13:04 Qt-barcode-master\main.cpp
文件 4284 2014-03-08 17:31 Qt-barcode-master\qrencode\bitstream.c
文件 1432 2014-03-08 17:31 Qt-barcode-master\qrencode\bitstream.h
文件 2708 2014-03-08 17:31 Qt-barcode-master\qrencode\config.h
文件 6929 2014-03-08 17:31 Qt-barcode-master\qrencode\mask.c
文件 1560 2014-03-08 17:31 Qt-barcode-master\qrencode\mask.h
文件 4078 2014-03-08 17:31 Qt-barcode-master\qrencode\mmask.c
文件 1404 2014-03-08 17:31 Qt-barcode-master\qrencode\mmask.h
文件 7063 2014-03-08 17:31 Qt-barcode-master\qrencode\mqrspec.c
文件 4774 2014-03-08 17:31 Qt-barcode-master\qrencode\mqrspec.h
文件 20071 2014-03-08 17:31 Qt-barcode-master\qrencode\qrencode.c
文件 20916 2014-03-08 17:31 Qt-barcode-master\qrencode\qrencode.h
文件 2778 2014-03-08 17:31 Qt-barcode-master\qrencode\qrencode_inner.h
文件 38941 2014-03-08 17:31 Qt-barcode-master\qrencode\qrinput.c
文件 3651 2014-03-08 17:31 Qt-barcode-master\qrencode\qrinput.h
文件 15689 2014-03-08 17:31 Qt-barcode-master\qrencode\qrspec.c
文件 5832 2014-03-08 17:31 Qt-barcode-master\qrencode\qrspec.h
文件 9182 2018-02-09 14:28 Qt-barcode-master\qrencode\rscode.c
文件 1468 2014-03-08 17:31 Qt-barcode-master\qrencode\rscode.h
文件 7683 2014-03-08 17:31 Qt-barcode-master\qrencode\split.c
文件 1913 2014-03-08 17:31 Qt-barcode-master\qrencode\split.h
文件 892 2018-02-08 11:23 Qt-barcode-master\Qt-barcode.pro
文件 23898 2018-02-10 16:38 Qt-barcode-master\Qt-barcode.pro.user
目录 0 2018-02-10 16:17 Qt-barcode-master\qrencode
目录 0 2018-02-10 16:38 Qt-barcode-master
----------- --------- ---------- ----- ----
............此处省略2个文件信息
相关资源
- 酒店管理系统基于Qt Creator5)
- vtk QT做的三维地质可视化系统2of2
- Qt局域网聊天软件
- Qt Creator opengl实现四元数鼠标控制轨迹
- QT局域网聊天系统(基于QT5.修改过)
- qt-电子点菜系统
- C 餐厅叫号系统(QT平)
- QRMaker.ocx控件
- QT 实现文件下载
- qt图像处理
- QT,JPEG解码源代码(已完成)
- Qt 播放音频文件
- Qt 读取16进制的data文件
- MQTT+串口(usart)透传
- 易语言QQTEA算法源码
- VC工程转Qt工程文件的工具
- MQTT推送Demo
- 基于Linux、QT的视频监控系统的设计与
- Qt 百度地图 定位
- QT酷炫界面开发指南《QmlBook》
- Ubuntu下操作Excel,qt代码
- Qt图片浏览器 --基于Qt的Graphics View f
- qtnribbon2破解
- 基于Zxing的二维码条形码扫描和生成
- Qt软件开发 完整项目代码
- MQTT_3.1protocol_Specific中文版
- 在QT中使用RTP进行视频的采集和传输
- 识别电子发票、处理pdf文件及二维码
- 倍加福二维码识别模块使用手册
- Mini6410 Qt4和Qtopia编程开发指南
评论
共有 条评论