繁体   English   中英

单击按钮时如何在Qt中打印文本

[英]How to print text in Qt when a button is clicked

我一直在阅读QPrinter和QPrintDialog的Qt文档,但无法弄清楚如何在textEdit字段中打印内容。

这是我尝试过的代码,当然不起作用。

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include <QtPrintSupport/QPrinter>
#include <QtPrintSupport/QPrintDialog>
#include <QPainter>


void MainWindow::on_pushButton_clicked()
{
    QString textFromField = ui->textEdit->toPlainText();

    QPrinter printer;

    QPrintDialog *printDialog = new QPrintDialog(&printer, this);

    printDialog->setWindowTitle("Print Document");

    if(printDialog->exec() != QDialog::Accepted)
    {

    }

    QPainter painter;
    painter.begin(&printer);
    painter.drawText(100, 100, 500, 500,Qt::AlignLeft | Qt::AlignTop, textFromField);
    painter.end();
}

这是我运行它时得到的输出。

:-1:警告:找不到选项'-F / Applications / Qt5.1.0 // 5.1.0 / clang_64 / qtbase / lib'的目录:-1:错误:架构x86_64找不到符号

知道我在做什么错吗? 再次,我想要的是在textEdit字段中打印内容。

QTextEdit只是QTextDocument的编辑器,它是一个功能强大的类,知道如何打印其内容。

QTextDocument *doc = ui->textEdit->document();
doc->print(&printer);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM