【问题标题】:Print function using Qt使用 Qt 的打印功能
【发布时间】:2012-09-01 00:50:35
【问题描述】:

我会尽快完成,因为这是一个非常简单的问题。如何在 Qt 中创建一个插槽,打印出我的文本编辑器中的所有内容。只是一个打印按钮,其行为与您期望的打印按钮行为一样。我正在阅读有关 QPrintDialog 的信息,但我无法让它工作。这是我尝试过的:

QPrintDialog printDialog(printer, this);
if(printDialog.exec() == QDialog::Accepted){
    ui->textBox->print(printer);
}

我尝试在它之前执行 QPrinter *printer = new QPrinter ......但这给了我各种各样的错误,我有点认为它会。我已经有#include QPrintDialog 那么我该如何真正让它工作呢?非常感谢任何帮助或建议。

编辑:我正在寻找我的问题的答案,我发现了一个似乎更接近工作的代码,如果这有意义的话。

QPrinter 打印机;

QPrintDialog *printDialog = new QPrintDialog(&printer, this);
printDialog->setWindowTitle("Print Document");
if (printDialog->exec() != QDialog::Accepted)
         return;

但是,现在我收到一条错误消息:

C:\Documents and Settings\Me\My Documents\C++ Projects\Qt Gui Applications\WordWrite-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK__Debug\..\WordWrite\wordwritemain.cpp:130: error: aggregate 'QPrinter printer' has incomplete type and cannot be defined

【问题讨论】:

  • 那些“各种错误”到底是什么?
  • C:\Documents and Settings\Me\My Documents\C++ Projects\Qt Gui Applications\WordWrite-build-desktop-Qt_4_8_1_for_Desktop__-_MinGW__Qt_SDK__Debug\..\WordWrite\wordwritemain.cpp:132:错误:不完整类型'struct QPrinter'的无效使用
  • c:\QtSDK\Desktop\Qt\4.8.1\mingw\include\QtGui\qwindowdefs.h:81:错误:'struct QPrinter' C:\Documents and Settings\Me 的前向声明\My Documents\C++ Projects\Qt Gui Applications\WordWrite-build-desktop-Qt_4_8_1_for_Desktop__-_MinGW__Qt_SDK__Debug\..\WordWrite\wordwritemain.cpp:133: 错误:没有匹配函数调用'QPrintDialog::QPrintDialog(QPrinter**, WordWriteMain* const)'
  • 对不起间距,但是有三个错误。

标签: c++ qt printing


【解决方案1】:

我在诺基亚网站的帮助部分解决了问题的答案。我使用的代码是:

QPrinter printer;
QPrintDialog *printDialog = new QPrintDialog(&printer, this);
printDialog->setWindowTitle("Print Document");
if (printDialog->exec() != QDialog::Accepted){
    ui->textBox->print(&printer);
}

这基本上是我之前所做的,除了:

  • 我添加了 &printer 而不是打印机

- I added #include <QPrinter>

无论如何感谢您的帮助,我希望这对未来的文本编辑器开发人员有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-10
    • 1970-01-01
    • 2012-09-15
    • 2020-10-10
    • 2014-11-29
    相关资源
    最近更新 更多