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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Распечатка документа. Как и что?  (Прочитано 11037 раз)
Krow
Гость
« : Август 20, 2008, 19:46 »

Не получается распечатать.

   
Код:
QPrinter printer;
QPrintDialog printDialog(&printer, this);
if (printDialog.exec())
{
QPainter painter(&printer);
QTextDocument textDocument;
textDocument.setHtml(html);
textDocument.print(&printer);
}

при  попытке распечатать пишет ошибку в KDevelop:
QPainter::begin() Returned false
Помогите? раньше не сталкивался с печатью. Вот пришлось, И по началу даж не знаю в какую сторону копать..
Посмотрел по поиску.. у меня вроде как похоже.. но вот хз что тут..
Самое интересное что пытался распечатать из Assistant какой нить текст или из примеров, тоже нифика не получается.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Август 20, 2008, 20:43 »

Код:
QPrinter* qpPrinter=new QPrinter();
QPrintDialog qpdPrintDialog(qpPrinter);
if (!qpdPrintDialog.exec()) return;
QTextDocument* qtdDocument=new QTextDocument();
qtdDocument->setPageSize(QSizeF(qpPrinter->pageRect().width(),qpPrinter->pageRect().height()));
qtdDocument->setHtml(qslPrintList.join("\n"));
qtdDocument->print(qpPrinter);
Все отлично работает.
QPainter не нужен.
Может с принтером нелады, если из ассистента не печатает?  Непонимающий

Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Krow
Гость
« Ответ #2 : Август 20, 2008, 21:02 »

да вроде лады... принтер сам по себе работает. из kwrite нормально распечатывает.. а он же вроде на кутях написан...
Записан
Krow
Гость
« Ответ #3 : Август 21, 2008, 07:59 »

На всякий случай проверил конфигурацию кутей. по дефолту cups включён.
попробовал установить размеры QTextDocument как указано в приведенном коде. всё равно не печатает.
убрал QPainter теперь ошибка QPainter::begin() Returned false пропала. но результата нет. (
Записан
Krow
Гость
« Ответ #4 : Август 21, 2008, 16:28 »

чисто ради интереса перегрузился в винду. там этот же код работает нормально.. а в лине KJobViewer показывает что идет ошибка.
в винде стоит версия 4,2,2 а в лине 4,3,0 не знаю. может из-за версии? хотя меня гложат на эту тему сомнения.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Август 21, 2008, 16:36 »

Нет. Врядли это зависит от версии. Попробуй покопать на форумах по Линуксу.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Krow
Гость
« Ответ #6 : Август 21, 2008, 17:00 »

а ты компилил свою кутю по дефолту принт опция была?
щас попытаюсь найти какую нить прогу на кутях и скомплить её. если не получится виновата кутя. получится, где то код не верен..
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #7 : Август 21, 2008, 17:06 »

Опции при конфигуре
-no-cups ........... Do not compile CUPS support.
-cups .............. Compile CUPS support.
Может в них дело. Попробуй кути перекомпилить с -cups. (хотя она стоит по дефолту, но на всякий случай).

Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Krow
Гость
« Ответ #8 : Август 21, 2008, 17:23 »

скачиваю kwrite... Посмотреть как там делается..
если не поможет буду пересобирать.
а вообще как можно определить программно кутя находит принтер или нет?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #9 : Август 21, 2008, 17:26 »

kwrite не поможет, так как писана она на третьей куте, а твои проги на четвертой. Попробуй кутю пересобрать.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Krow
Гость
« Ответ #10 : Август 21, 2008, 17:38 »

kwrite не поможет, так как писана она на третьей куте, а твои проги на четвертой. Попробуй кутю пересобрать.
kwrite четвертую скачиваю...
Решил на всякий случай пересобрать
Записан
Krow
Гость
« Ответ #11 : Август 21, 2008, 18:02 »

пересобрал... нифика не помогло (
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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