crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
AntonH851
  опции профиля:
сообщение 2.8.2010, 9:39
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 66
Регистрация: 20.2.2010
Из: Шебекино
Пользователь №: 1475

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




Репутация:   0  


Здравствуйте, написал вот такой код:
    
    QString fileName = "";
    QPrinter *printer = new QPrinter;
    printer->setOutputFormat(QPrinter::PdfFormat);
    fileName = QFileDialog::getSaveFileName(this,
                                            tr("Выбор файла"),
                                            QString(),
                                            tr("Adobe PDF (*.pdf);;Все файлы(*.*)"));
    if (fileName.isEmpty())
        return;

    printer->setOutputFileName(fileName);
    QPrintDialog *printDialog = new QPrintDialog(printer, this);
    if (printDialog->exec() == QDialog::Accepted) {
        QPainter p(printer);
        QPixmap pm = QPixmap::grabWidget(tvUsl->viewport());
        p.drawPixmap(0, 0, pm);
    }


Но при попытке выполнить получаю:
Цитата
QPrintDialog: Cannot be used on non-native printers
QPrintDialog: Cannot be used on non-native printers


При этом диалог печати не появляется. Что может быть не так?
Заранее спасибо!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Rocky
  опции профиля:
сообщение 18.8.2010, 11:31
Сообщение #2


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

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

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




Репутация:   7  


А если делать как-нить так, документ создается?
m_pPDFPrinter->setOutputFileName(sFileName);
QPainter oPDFPainter;
oPDFPainter.begin(m_pPDFPrinter);
Draw(&oPDFPainter);
oPDFPainter.end();
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 30.12.2024, 5:38