【发布时间】:2018-04-21 07:22:37
【问题描述】:
我正在尝试在code128中编写文本,并且打印机也以图片结尾,但这两种方式都不起作用,我查看了官方文档和其他论坛问题,但无法打印代码128
from PyQt4.QtGui import QApplication,QImage,QFont
from PyQt4.QtCore import QSizeF
import sys,time
app = QApplication(sys.argv)
image = QImage(640,100,QImage.Format_Mono)
image.fill(1)
font = QFont('code128',32,QFont.Normal)
painter = QPainter()
painter.begin(image)
painter.setFont(font)
text = "\xccasdfsf\xce"
painter.drawText(10,90,text)
painter.end()
image.save('test.png')
还有我的热敏打印机
from PyQt4.QtGui import QApplication,QImage,QFont,QPrinter
from PyQt4.QtCore import QSizeF
import sys,time
app = QApplication(sys.argv)
printer = QPrinter('POS-58(copy of 1)')
font = QFont('code128',32,QFont.Normal)
painter = QPainter()
painter.begin(printer)
painter.setFont(font)
text = "\xccasdfsf\xce"
painter.drawText(10,90,text)
painter.end()
这两个都不适合我,我找到了解决方案,会发生什么?
我在带有 python 2.7 的 windows 10 中使用 PyQt4
【问题讨论】:
-
“不起作用”和“在code128中无法打印”是什么意思?请描述实际打印的内容和/或提供显示输出的屏幕截图。您还应该说明您正在测试的平台。
-
PS:我使用 python-3.6.3、qt-4.8.7 和 pyqt-4.12.1 在我的 linux 系统上测试了第一个示例,它对我来说很好用。也就是说,它会生成一个左下角带有条形码的白色矩形图像。
-
QtGui.QFontInto(font).family()的输出是什么?。看起来 Qt 没有找到正确的字体。你确定你安装正确了吗? -
font = QFont('code128') info = QFontInfo(font) print(info.family())输出是 MS Shell Dlg 2 -
所以字体没有正确安装。我添加了一个答案,可以让您解决问题。
标签: python qt printing pyqt code128