资源简介
基于的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个文件信息
相关资源
- Ubuntu下操作Excel,qt代码
- Qt图片浏览器 --基于Qt的Graphics View f
- qtnribbon2破解
- 基于Zxing的二维码条形码扫描和生成
- Qt软件开发 完整项目代码
- MQTT_3.1protocol_Specific中文版
- 在QT中使用RTP进行视频的采集和传输
- 识别电子发票、处理pdf文件及二维码
- 倍加福二维码识别模块使用手册
- Mini6410 Qt4和Qtopia编程开发指南
- Qt实现Code39条形码
- qt_ffmpeg_mp4_export_and_import.zip
- QT5.5入门与项目实战
- Huffman Compress 霍夫曼编码 压缩 解压缩
- 基于QT的黑白棋游戏设计和实现
- Qt写的连连看小游戏
- QTranslate_6.7.2.7z
- Qt基于FFmpeg播放本地 H.264H264文件
- QT编的MP3播放器
- linux系统的二级文件系统(QT实现了简
- QT生成DLL库文件的方法和使用方法详解
- QT+opencv+OCR 身份证号码,银行卡号识别
- Qt实现的简单的中国象棋程序
- Qt时钟Demo,在原来基础上添加了秒针
- 基于Qt和opencv的身份证号码识别系统
- 基于FFmpeg4.0.2的AAC编码器
- Qt写的Windows下屏幕录制程序源码
- QT旅游攻略软件程序源代码
- mp4_play.zip
- ffmpeg+qt的简单播放器
评论
共有 条评论