crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Смещение отрисовки на разных компьютерах
Rocky
  опции профиля:
сообщение 23.8.2011, 13:19
Сообщение #1


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

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




Репутация:   7  


Все привет!

Есть код, который выводит некую табличку на печать. Проблема в том, что на разных компьютерах происходит смещение левого верхнего угла отрисовки относительно края листа. При этом viewport у QPainter везде одинаковый. Отчего зависит это смещение? О настроек принтера? Если кто-нить сталкивался, подскажите плиз, как сделать одинаковое смещение на всех компах...

Спасибо!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Rocky
  опции профиля:
сообщение 23.8.2011, 14:01
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

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




Репутация:   7  


Все дело в QPrinter::pageRect.. Он отличается для разных принтеров и систем как я понял... Как его изменять неясно.. Сделал так:

QRect CValtecReportManager::getViewportRect() const
{
  QRect oViewportRectP(5, 5, 770, 1100);
  QRect oViewportRectL(5, 5, 1100, 780);

  if (m_pActivePrinter)
  {
    const QRect& pageRect = m_pActivePrinter->pageRect();

    oViewportRectP.moveLeft(abs(20 - pageRect.left()));
    oViewportRectP.moveTop(abs(20 - pageRect.top()));

    oViewportRectL.moveLeft(abs(20 - pageRect.left()));
    oViewportRectL.moveTop(abs(20 - pageRect.top()));
  }

  return m_bLandscapeOrientation ? oViewportRectL : oViewportRectP;
}


Так вроде как примерно одинаково под linux и windows смотрится.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 23.8.2011, 19:56
Сообщение #3


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


Rocky, С принтером в Qt народ повоевал от души. Всё таки платформа, платформе - рознь
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 20.4.2024, 1:18