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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Печать документа  (Прочитано 6468 раз)
dxdy
Гость
« : Ноябрь 21, 2010, 18:19 »

Добрый день!
Нужно создать документ(таблицу) размера 100х210 (в миллиметрах) и распечатать. Поиск не дал результатов, так как на разных компьютерах разное разрешение и никак не привязать размер к пикселям. Пробовал создать html таблицу и распечатать на бумаге размера 100х210, но тогда не все столбцы вмещаются на бумагу. Программа из примера Qt "textedit" вообще не все мои html-тэги распознала, поэтому прошу помощи.
Записан
alexman
Гость
« Ответ #1 : Ноябрь 21, 2010, 21:32 »

Так можно установить размеры таблицы в пикселях, учитывая сколько в одном пикселе милиметров.
Записан
dxdy
Гость
« Ответ #2 : Ноябрь 22, 2010, 00:31 »

учитывая сколько в одном пикселе милиметров.
Например так
Цитировать
double onepoint = painter->device()->logicalDpiY() / N;
но какой константой задается N?
Записан
Barmaglodd
Гость
« Ответ #3 : Ноябрь 22, 2010, 08:35 »

mm/25.4
Записан
alexman
Гость
« Ответ #4 : Ноябрь 22, 2010, 09:24 »

учитывая сколько в одном пикселе милиметров.
Например так
Цитировать
double onepoint = painter->device()->logicalDpiY() / N;
но какой константой задается N?
Не знаю более изящного решения, но можно так:
Код:
(double)widget->width() / widget->widthMM(); // QWidget* widget = ...
(double)widget->height() / widget->heightMM();
Записан
dxdy
Гость
« Ответ #5 : Ноябрь 24, 2010, 01:07 »

все равно не помогло, а можно изменить поля отступа в QPrinter?
Записан
Barmaglodd
Гость
« Ответ #6 : Ноябрь 24, 2010, 08:15 »

"Таблица"- это что? QTextDocument, QTableView, QWebView или ещё что?
Я же тебе написал, точек в mm: painter->device()->logicalDpiY() / 25.4;
Границы у принтера QPrinter::setPageMargins.
« Последнее редактирование: Ноябрь 24, 2010, 08:17 от Barmaglodd » Записан
dxdy
Гость
« Ответ #7 : Ноябрь 25, 2010, 17:07 »

Barmaglodd спасибо, проблема решилась. Вся соль была в самом принтере.
Записан
blood_shadow
Гость
« Ответ #8 : Февраль 26, 2011, 19:36 »

Barmaglodd спасибо, проблема решилась. Вся соль была в самом принтере.
можно поподробнее что надо сделать с принтером?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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