【发布时间】:2015-08-31 12:02:30
【问题描述】:
我正在尝试使用 Qt 将一些字符串打印到打印机点阵 LX-300+,但字体似乎是倾斜的。有些用户也有这个问题http://www.qtcentre.org/threads/11814-printing-program-in-LX-300-(dot-matrix-printer)-problem,但我直到现在才找到解决方案。请帮我解决这个问题。如果这是 Qt 错误,我是否需要使用其他框架(可能是 .net)创建 dll 或应用程序?这是我的代码
QTextDocument document;
QTextCursor cursor = QTextCursor(&document);
QFont font = QFont("Courier");
QTextCharFormat format = QTextCharFormat();
format.setFont(font);
cursor.setCharFormat(format);
cursor.insertText("lorem ipsum dolor sit amit amit ");
QPrinter printer(QPrinter::ScreenResolution);
printer.setPrinterName(ui->ddlPrinter->currentData().toString());
printer.setColorMode(QPrinter::GrayScale);
printer.setPageSize(QPrinter::A4);
printer.setFullPage(false);
QPrintDialog dialog(&printer, this);
document.print(&printer);
我正在使用 Qt5.4.0 mingw491 32 OS win 7 64bit
【问题讨论】:
-
"字体似乎歪了" 如果您不提供清晰的 (600dpi+ 扫描) 问题图像,甚至无法开始解决您的问题打印。要重现,您还必须在
QTextDocument上设置明确的字体,并让我们知道它在什么操作系统上,什么 Qt 版本,以及您使用的打印机驱动程序版本和提供程序。 -
我添加了更多描述,如何在 QTextDocument 上设置字体?
-
设置
defaultFont之前向文档添加任何其他内容。 -
你真的应该添加来自 Qt 的无效打印输出的图像(或者如果你还不能直接附加图像,则只添加指向 imgur 的链接,通常有人会快速编辑以添加图像),以及来自写字板的预期打印输出或记事本。您可能可以使用照相手机获得足够好的图像来显示问题。