我在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手机上的条形码扫描仪应用程序无法读取生成的条形码。我在这种情况下做错了什么?
修改 纯文本需要一些编码。有关代码示例
,请参阅https://github.com/adamgiacomelli/Qt-barcode答案 0 :(得分:6)
除了要显示的字符串之外,Code 128还有一些要求。它需要一个开始字符,一个校验字符和一个停止字符。有关需要在字符串中插入开始和结束字符的字符,请参阅字体文档,并使用wikipedia作为校验码算法。