c++ - 使用Qt打印功能

标签 c++ qt printing

我会很快回答这个问题,因为这是一个非常简单的问题。我如何在 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

最佳答案

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

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

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

  • 我添加了 &printer 而不是 printer

- I added #include <QPrinter>

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

关于c++ - 使用Qt打印功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12224039/

相关文章:

c++ - qt 应用程序未运行

c++ - 如何从 C++ 代码访问 .qrc 文件中指定的文件?

python - 我大约一半的 if 语句无法正常工作

java - 在 Java 中打印十字图案

c++ - 如何将 for 循环创建的可变数量的整数相加?

将连接的三角形分类为组的 C++ 算法

c++ - boost dijkstra 弦边权重

c++ - Boost 将默认边权重设置为 1

c++ - 无法在 Qt5 应用程序中加载 qca-ossl

android - android如何使用蓝牙打印机打印WebView内容