crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Кроссплатформенная печать, Под Linux печатает, под Windows - нет
mihailikus
  опции профиля:
сообщение 9.9.2011, 19:08
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 25.2.2010
Пользователь №: 1482

Спасибо сказали: 0 раз(а)




Репутация:   0  


Здравствуйте!

Разрабатываю программу, которая на GraphicsScene рисует множество элементов, потом, по замыслу, печатает сцену на бумагу. Под линуксом все нормально, а вот под windows печать сцены не работает. То есть вот такой код:
    QGraphicsScene scene;
    scene.addRect(10, 10, 200, 100);
    QPrinter printer(QPrinter::PrinterResolution);
    printer.setPaperSize(QPrinter::A4);

    QPainter painter(&printer);
    scene.render(&painter);

компилируется, под линуком печатает, под виндоусом принтер захватывает страницу и выдает ее чистой. Хотя вариант с рисованием прямо на принтер работает:
    QPrinter printer(QPrinter::PrinterResolution);
    printer.setPaperSize(QPrinter::A4);
    QPainter painter(&printer);
    QRect r(painter.viewport());
    painter.setPen(Qt::black);
    painter.setFont(QFont("Times", 20, QFont::Normal));
    painter.drawText(r, Qt::AlignCenter, "Printer Test");

Можно ли как-то напечатать уже готовую сцену, или придется переделывать программу, чтоб рисовалось второй раз, но уже на принтер?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 25.4.2024, 2:51