f
29 января 2020 г. 0:27

Печать c QWebEngineView

QPrinter, QWebEngineView

Добрый день
Сломал уже всю голову, никак не могу разобраться с печатью
Проблема в следующем: если программа открыта не на весь экран, то документ распечатанный выглядит так

если на весь, то часть информации обрезается

Реализация печати до нельзя простая

   QPrinter printer(QPrinter::ScreenResolution);
    printer.setOrientation(QPrinter::Landscape);
    QPrintPreviewDialog preview(&printer, this);
    QPrintDialog *dlg = new QPrintDialog(&printer, this);
    if (m_WebEngineView->hasSelection())
        dlg->addEnabledOption(QAbstractPrintDialog::PrintSelection);
    dlg->setWindowTitle(tr("Print Document"));
    if (dlg->exec() == QDialog::Accepted)
        m_WebEngineView->render(&printer);
    delete dlg;

Такая же реализация сделана и в другом проекте, правда там контент забирается с textbrowser, но при любом размере окна программы, печатается всегда без пустых областей и без обрезки
Что я делаю не так?

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.
1

Добрый день.

В методе render есть аргумент sourceRegion , попробуйте его настроить. В противном случае, насколько помню, будет рендериться только видимая область.

Комментарии

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

Здравствуйте, уважаемые пользователи EVILEG !!!

Если сайт вам помог, то поддержите разработку сайта финансово, пожалуйста.

Вы можете сделать это следующими способами:

Спасибо, Евгений Легоцкой

v
9 апреля 2020 г. 5:41
vitalisimys

Qt - Тест 001. Сигналы и слоты

  • Результат:21баллов,
  • Очки рейтинга-10
v
9 апреля 2020 г. 5:36
vitalisimys

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

  • Результат:40баллов,
  • Очки рейтинга-8
v
9 апреля 2020 г. 5:32
vitalisimys

C++ - Тест 001. Первая программа и типы данных

  • Результат:53баллов,
  • Очки рейтинга-4
Последние комментарии
8 апреля 2020 г. 9:12
ogustbiller

Круто! Немного начинает проясняться что к чему. Спасибо.
K
7 апреля 2020 г. 8:55
KULINAR847

А вот уже и на python... #!/usr/bin/env python# -'''- coding: utf-8 -'''-import sysfrom PySide2.QtWidgets import *from PySide2.QtQuick import *from PySide2.QtCore import *from PySide2.…
3 апреля 2020 г. 8:06
Konstantin Grudnitskiy

Я надеюсь вы уже разобрались в чем дело, но если вдруг нет, то проблема состоит в том, что вы пытаетесь запустить программу из интерпретатора питона. Файл main.py это уже готова…
3 апреля 2020 г. 6:18
Konstantin Grudnitskiy

>>> text = 'hello world'>>> ' '.join(word for word in text.split()[:-1])'hello'>>> def remove_last_word(text):... return text and ' '.join(word for word in text.s…
27 марта 2020 г. 14:40
Евгений Легоцкой

Добрый день. В конце пятой статьи скачать можете.
Сейчас обсуждают на форуме
ДК
9 апреля 2020 г. 3:31
Джон Кофи

Привет. Делаю реализацию перемещения строк на QTableView с моделью QSqlTableModel. Буду в этой теме спрашивать нужное. Пока такой вопрос при создании модели: как мне узнать rowCount? int…
8 апреля 2020 г. 17:42
elyana

Подскажите как правильно реализовать... Нужно создать массив в C++ с переменными типа сhar или же int. В Qml будет переменная, например text, которая будет изменять своё значение в зависим…
ДК
8 апреля 2020 г. 6:29
Джон Кофи

:-D блин, без слов, пойду пройдусь))
s
8 апреля 2020 г. 4:59
slava_d2000

Всем привет. Прошу помощи.есть статическая сборка 5.14.2 (без SSL) компилируется чистый шаблон на QML и Widgets если войти на компьютер в терминальной сессии и запустить программ…
s
6 апреля 2020 г. 8:06
shuric

Добрый день. Объясните пожалуйста ... ... допиливать стилевое оформление в прокси классе ... где именно копать ? В каком виртуальном методе лучше допиливать (если можно н…
EVILEG
О нас
Услуги
© EVILEG 2015-2019
Рекомендует хостинг TIMEWEB