f
fen3derШілде 11, 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 Т.Ж.

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

          Пікірлер

          Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
          Кіріңіз немесе Тіркеліңіз
          m
          • molni99
          • Қаз. 26, 2024, 1:37 Т.Ж.

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

          • Нәтиже:80ұпай,
          • Бағалау ұпайлары4
          m
          • molni99
          • Қаз. 26, 2024, 1:29 Т.Ж.

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

          • Нәтиже:20ұпай,
          • Бағалау ұпайлары-10

          C++ - Тест 003. Условия и циклы

          • Нәтиже:42ұпай,
          • Бағалау ұпайлары-8
          Соңғы пікірлер
          i
          innorwallҚар. 10, 2024, 3:52 Т.Қ.
          Qt/C++ - 025-сабақ. Qmake утилитасымен құрастыру үшін жоба файлдарын жасау where to buy priligy It helps keep bones strong, nerves and muscles working properly, and blood sugar under control
          i
          innorwallҚар. 10, 2024, 1:03 Т.Қ.
          Джанго - Сабақ 029. Сайтқа жеке хабарламалар мен чаттар қосу - 1 бөлім priligy at walgreens ortho ciprofloxacin tablet uses in telugu Republicans in Congress have chastised Obama s top health adviser, Health and Human Services Secretary Kathleen Sebelius, …
          i
          innorwallҚар. 10, 2024, 9:55 Т.Ж.
          Linux жүйесінде файлдарды қалай көшіруге болады In dogs, it is used to facilitate synchronized cardioversion of atrial fibrillation buy priligy usa
          i
          innorwallҚар. 10, 2024, 9:03 Т.Ж.
          Qt тілінде ойын қалай жазылады - 3-сабақ. Басқа объектілермен әрекеттесу priligy otc I routinely do not tell patients and or parents of patients with atopic dermatitis to avoid glutamates in food
          Енді форумда талқылаңыз
          i
          innorwallҚар. 10, 2024, 4:34 Т.Қ.
          добавить qlineseries в функции priligy dapoxetine amazon a Rates of overall CRA in respect of associated explanatory variables age at treatment and age at menarche
          9
          9AnonimҚаз. 25, 2024, 9:10 Т.Ж.
          Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
          F
          FynjyШілде 22, 2024, 4:15 Т.Ж.
          при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

          Бізді әлеуметтік желілерде бақылаңыз