我已将一些示例数据写入文本文件。我想将此文本文件打印到我的打印机。有谁能告诉我代码是如何使用Qt4做到这一点的?
答案 0 :(得分:12)
您需要使用QPrinter和QPainter对象将文本打印到打印机。
以下代码会将示例文本打印到从对话框(QPrintDialog)中选择的打印机。
#include <QApplication>
#include <QPrinter>
#include <QPrintDialog>
#include <QPainter>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QString text =
"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do\n"
"eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut\n"
"enim ad minim veniam, quis nostrud exercitation ullamco laboris\n"
"nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor\n"
"in reprehenderit in voluptate velit esse cillum dolore eu fugiat\n"
"nulla pariatur. Excepteur sint occaecat cupidatat non proident,\n"
"sunt in culpa qui officia deserunt mollit anim id est laborum.\n";
QPrinter printer;
QPrintDialog *dialog = new QPrintDialog(&printer);
dialog->setWindowTitle("Print Document");
if (dialog->exec() != QDialog::Accepted)
return -1;
QPainter painter;
painter.begin(&printer);
painter.drawText(100, 100, 500, 500, Qt::AlignLeft|Qt::AlignTop, text);
painter.end();
return 0;
}
为了打印文本文件的内容,您需要逐行解析文件以生成包含内容的QString。生成的QString可以像示例中的示例文本一样打印。
的文档