Qt/C++ - 生成的条码不可读
Qt/C++ - Barcodes generated not readable
我在 Qt5/C++ (Windows) 中编写了一个简单的条形码生成器:
void BarcodeDialog::printBarcode(QString barcodeText)
{
int id = QFontDatabase::addApplicationFont(":/fonts/code128.ttf");
QFontDatabase::applicationFontFamilies(id).at(0);
QFont barcodefont = QFont("Code 128", 50, QFont::Normal);
barcodefont.setLetterSpacing(QFont::AbsoluteSpacing,0.0);
this->ui->label->setFont(barcodefont);
this->ui->label->setText(barcodeText);
}
它生成了条码,但是我的 android phone 上的条码扫描器应用程序无法读取生成的条码。在这种情况下我做错了什么?
编辑:
纯文本需要一些编码。代码示例参考https://github.com/adamgiacomelli/Qt-barcode
Code 128 除了要显示的字符串外,还有一些要求。它需要一个开始字符、一个校验字符和一个停止字符。请参阅您的字体文档,了解您需要在字符串中插入的字符作为开始字符和停止字符,以及 wikipedia 检查代码算法。
我在 Qt5/C++ (Windows) 中编写了一个简单的条形码生成器:
void BarcodeDialog::printBarcode(QString barcodeText)
{
int id = QFontDatabase::addApplicationFont(":/fonts/code128.ttf");
QFontDatabase::applicationFontFamilies(id).at(0);
QFont barcodefont = QFont("Code 128", 50, QFont::Normal);
barcodefont.setLetterSpacing(QFont::AbsoluteSpacing,0.0);
this->ui->label->setFont(barcodefont);
this->ui->label->setText(barcodeText);
}
它生成了条码,但是我的 android phone 上的条码扫描器应用程序无法读取生成的条码。在这种情况下我做错了什么?
编辑: 纯文本需要一些编码。代码示例参考https://github.com/adamgiacomelli/Qt-barcode
Code 128 除了要显示的字符串外,还有一些要求。它需要一个开始字符、一个校验字符和一个停止字符。请参阅您的字体文档,了解您需要在字符串中插入的字符作为开始字符和停止字符,以及 wikipedia 检查代码算法。