Russian Qt Forum
Май 03, 2024, 18:38 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QT печать размер страницы  (Прочитано 3481 раз)
rumgot@gmail.com
Гость
« : Апрель 15, 2015, 20:39 »

Здравствуйте. Система linux mint 17 kde x64, Qt5.4.0, для печати используется cups, в котором установлены сетевые принтеры(canon ir2520 и canon mf5940dn), а также локальный принтер samsung clp300 и локальный pdf-принтер.
Имеется такой код в слоте по нажатию кнопки:

QPrinter printer;
QPrintDialog printDialog(&printer, this);
printDialog.exec();

qDebug() << printer.pageLayout();
qDebug() << printer.pageRect(QPrinter::Millimeter);
qDebug() << printer.paperRect(QPrinter::Millimeter);


Я выставляю размер страницы(как показано выше) через диалог.

Если указать размера страницы отличный от A4(скажем A5 или A3, если принтер позволяет) в диалоге настройки принтера, размер страницы не меняется, т.е. получаю вывод такой вывод в операторе debug():

"QPageLayout(A4, Portrait, l:14.173 r:13.898 t:14.173 b:14.284 pt)"
QRectF(5,5 200.1x286.96)
QRectF(0,0 210x297)

Данное поведение характерно ТОЛЬКО для сетевых притеров. Для локальных принтеров samsung clp300 и pdf-принтера размер страницы меняется через упомянутый выше диалог корректно, и вызов qDebug() показывает тот размер страницы, который был выбран в диалоге настройки принтера.
В системе windows(Qt5.4.0) этот же код работает как надо для всех принтеров. В чем дело?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 20.