0

我是qt的新手。我想做一个简单的项目,从打印机打印文本。每当我使用

   QPrinter printer;

 QPrintDialog *dialog = new QPrintDialog(&printer, this);
 dialog->setWindowTitle(tr("Print Document"));
 if (editor->textCursor().hasSelection())
     dialog->addEnabledOption(QAbstractPrintDialog::PrintSelection);
 if (dialog->exec() != QDialog::Accepted)
     return;

或这个

 QPrinter printer(QPrinter::HighResolution);
 printer.setOutputFileName("print.ps");
 QPainter painter;
 painter.begin(&printer);

 for (int page = 0; page < numberOfPages; ++page) {

     // Use the painter to draw on the page.

     if (page != lastPage)
         printer.newPage();
 }

 painter.end();

我只是将其复制粘贴到我的 mainwindow.cpp(并尝试将其粘贴到 main.cpp),以检查它是否有效。它不是。我收到了几个这样的错误

mainwindow.obj:-1:错误:LNK2019:未解析的外部符号“__declspec(dllimport) public: virtual _ thiscall QPrinter::~QPrinter(void)”( _imp_??1QPrinter@@UAE@XZ) 在函数“private: void __thiscall MainWindow::on_pushButton_clicked(void)" (?on_pushButton_clicked@MainWindow@@AAEXXZ)。

有人可以一步一步告诉我,如何打印到打印机?我也在网上查了很多,但没有得到任何相关的教程,甚至没有一个例子。所以,请把它写在这里,而不是把我链接到另一个页面。

4

1 回答 1

6

我做了一些快速的研究,对你的评论有点惊讶。QtPrintSupport 确实发生了变化,因此用于 Qt5(详细说明):

在专业文件中: QT += core gui printsupport

在 cpp 文件中: #include <QtPrintSupport>

要从 QTextEdit *编辑器打印,请使用:

editor->document()->print(&printer);
于 2013-09-30T11:45:25.073 回答