Как напечатать текст в Qt при нажатии кнопки

Я читал документацию Qt для QPrinter и QPrintDialog, но я не могу понять, как напечатать содержимое в поле 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.

0

Решение

QTextEdit — это просто редактор для QTextDocument, который является мощным классом, который знает, как напечатать его содержимое.

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]