f
fen3der11 июля 2018 г. 2:27

Печать с TextBrowser

QPainter, HTML, Печать

Добрый день. Столкнулся с проблемой печати отчета на qt. В текстбраузер выводится результат действий пользователя, по кнопке необходимо просто распечатать этот результат(10-12 строк html). Как это реализовать? Что добавить в код?

    QPrinter printer(QPrinter::HighResolution);
    QPrintDialog printDialog(&printer, this);
            printDialog.addEnabledOption(QAbstractPrintDialog::PrintSelection);
            if (printDialog.exec() == QDialog::Accepted) {
                QPainter painter(&printer);
                painter.begin(&printer);
                ui->textBrowser->render(&painter);
                painter.end();
            }
Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Вам это нравится? Поделитесь в социальных сетях!

4
Evgenii Legotckoi
  • 11 июля 2018 г. 3:48

Если взять пример из документации Qt и сравнить с вашим, то есть некоторые различия. В примере отсутствует QPainter. Так же QPrintDialog создаётся в куче, а не в стеке, теоретически это тоже может быть проблемой.

void TextEdit::filePrint()
{
#if QT_CONFIG(printdialog)
    QPrinter printer(QPrinter::HighResolution);
    QPrintDialog *dlg = new QPrintDialog(&printer, this);
    if (textEdit->textCursor().hasSelection())
        dlg->addEnabledOption(QAbstractPrintDialog::PrintSelection);
    dlg->setWindowTitle(tr("Print Document"));
    if (dlg->exec() == QDialog::Accepted)
        textEdit->print(&printer);
    delete dlg;
#endif
}
    f
    • 11 июля 2018 г. 5:57

    увы, но не работает. Даже диалоговое окно не открывается. Код с минимальным изменением

        QPrinter printer(QPrinter::HighResolution);
        QPrintDialog *dlg = new QPrintDialog(&printer, this);
        if (ui->textBrowser->textCursor().hasSelection())
            dlg->addEnabledOption(QAbstractPrintDialog::PrintSelection);
        dlg->setWindowTitle(tr("Print Document"));
        if (dlg->exec() == QDialog::Accepted)
            ui->textBrowser->print(&printer);
        delete dlg;

      Evgenii Legotckoi
      • 11 июля 2018 г. 6:04

      Поддержку печати включили в pro файле?

      QT += printsupport
        f
        • 11 июля 2018 г. 6:23

        Это сделано в первую очередь

          Комментарии

          Только авторизованные пользователи могут публиковать комментарии.
          Пожалуйста, авторизуйтесь или зарегистрируйтесь
          AD

          C++ - Тест 004. Указатели, Массивы и Циклы

          • Результат:50баллов,
          • Очки рейтинга-4
          m
          • molni99
          • 26 октября 2024 г. 1:37

          C++ - Тест 004. Указатели, Массивы и Циклы

          • Результат:80баллов,
          • Очки рейтинга4
          m
          • molni99
          • 26 октября 2024 г. 1:29

          C++ - Тест 004. Указатели, Массивы и Циклы

          • Результат:20баллов,
          • Очки рейтинга-10
          Последние комментарии
          i
          innorwall14 ноября 2024 г. 19:03
          Qt/C++ - Урок 060. Настройка внешнего вида приложения в рантайме I didnt have an issue work colors priligy dapoxetine 60mg revia cost uk August 3, 2022 Reply
          i
          innorwall14 ноября 2024 г. 11:42
          Как Копировать Файлы в Linux If only females relatives with DZ offspring were considered these percentages were 23 order priligy online uk
          i
          innorwall14 ноября 2024 г. 9:09
          Qt/C++ - Урок 068. Hello World с использованием системы сборки CMAKE в CLion ditropan pristiq dosing With the Yankees leading, 4 3, Rivera jogged in from the bullpen to a standing ovation as he prepared for his final appearance in Chicago buy priligy pakistan
          i
          innorwall14 ноября 2024 г. 4:05
          EVILEG-CORE. Использование Google reCAPTCHA 2001; 98 29 34 priligy buy
          Сейчас обсуждают на форуме
          i
          innorwall14 ноября 2024 г. 3:39
          добавить qlineseries в функции priligy amazon canada 93 GREB1 protein GREB1 AB011147 6
          i
          innorwall11 ноября 2024 г. 10:55
          Всё ещё разбираюсь с кешем. priligy walgreens levitra dulcolax carbs The third ring was found to be made up of ultra relativistic electrons, which are also present in both the outer and inner rings
          9
          9Anonim25 октября 2024 г. 9:10
          Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
          ИМ
          Игорь Максимов3 октября 2024 г. 4:05
          Реализация навигации по разделам Спасибо Евгений!

          Следите за нами в социальных сетях