Здравствуйте!
Разрабатываю программу, которая на 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");
Удалось локализовать проблему.
Под виндоус все же печатает, если собрать чистый релиз проекта и запустить из Creator'а. А если накидать в каталог проекта dll-ки для дальнейшего распространения - уже не печатает ни при каком запуске: ни самостоятельно при запуске из проводника, ни из креатора.
Пробовал в каталог с проектом копировать все qt-шные dll-ки, пробовал копировать исполняемый файл прямо в каталог %QTDIR%/bin/ - не печатает.
Как бы это пофиксить, как узнать, каких файлов проекту не хватает?
mihailikus, а зависимости у файла глянуть если ? Будет видно, по каким путям экзешник дллки находит (или не находит)
Оказалось, проблема была в пользовательской сборке Qt, на которой я проверял работу программы. Воспользовался чистым компьютером со свежеустановленным QtSDK - все заработало, тема закрыта.
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)