crossplatform.ru

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


  Ответ в Кроссплатформенная печать
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
mihailikus Дата 14.9.2011, 22:06
  Оказалось, проблема была в пользовательской сборке Qt, на которой я проверял работу программы. Воспользовался чистым компьютером со свежеустановленным QtSDK - все заработало, тема закрыта.
Алексей1153 Дата 11.9.2011, 0:16
  mihailikus, а зависимости у файла глянуть если ? Будет видно, по каким путям экзешник дллки находит (или не находит)
mihailikus Дата 10.9.2011, 21:58
  Удалось локализовать проблему.
Под виндоус все же печатает, если собрать чистый релиз проекта и запустить из Creator'а. А если накидать в каталог проекта dll-ки для дальнейшего распространения - уже не печатает ни при каком запуске: ни самостоятельно при запуске из проводника, ни из креатора.
Пробовал в каталог с проектом копировать все qt-шные dll-ки, пробовал копировать исполняемый файл прямо в каталог %QTDIR%/bin/ - не печатает.
Как бы это пофиксить, как узнать, каких файлов проекту не хватает?
mihailikus Дата 9.9.2011, 19:08
  Здравствуйте!

Разрабатываю программу, которая на 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");

Можно ли как-то напечатать уже готовую сцену, или придется переделывать программу, чтоб рисовалось второй раз, но уже на принтер?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 10:29