首页 > 其他分享 >热敏打印机长文本自动换行打断单词问题记录

热敏打印机长文本自动换行打断单词问题记录

时间:2023-02-01 10:55:42浏览次数:45  
标签:打印机 换行 热敏 单词 int MaxLength 文本 data

 1 void PrinterCtl::writeMyCom(QByteArray data)
 2 {
 3     int l = 0;
 4     for(int i = MaxLength; i < data.size() - 1; i += MaxLength){
 5         if(qAbs(data.indexOf(' ', i-1) - i) > 1){
 6             l = data.lastIndexOf(' ',i);
 7             if(l != -1 && l > i - MaxLength){
 8                 data.insert(l, QString("%1").arg("", i-l-1, QLatin1Char(' ')));
 9             }
10         }
11     }
12     myCom->write(data);
13 }

QT串口实现,没找到现成的记录一下,大概思路就是检查行末不是空格且不是文本结尾时,找本行最后一个空格延长,把本来这行的半个单词推到下一行

标签:打印机,换行,热敏,单词,int,MaxLength,文本,data
From: https://www.cnblogs.com/KKKA/p/17081852.html

相关文章