Я создаю документы PDF в Qt, используя команду:
QPdfWriter *pdf;
pdf = new QPdfWriter(filename);
Иногда объект не создается из-за неправильного имени файла или документ существует и открыт в другом приложении ...
Как проверить, был ли создан объект (если указатель pdf указывает на действительный объект)?
РЕДАКТИРОВАТЬ: Моя ошибка была в том, что объект не был создан.Это не правда.Объект QPdfWriter создан, но нет сгенерированных исключений или ошибок.Я могу установить некоторые свойства.Проблема возникнет позже, когда я попытаюсь что-то записать в документ - см. Комментарии трех последних команд:
pdf->setParent(this);
pdf->setPageSize(QPdfWriter::A4);
pdf->setPageOrientation(QPageLayout::Orientation::Landscape);
QPainter *p = new QPainter(pdf); //got message: QPainter::begin(): Returned false
ui->chartView->render(p); // no error
p->end(); // got message: QPainter::end: Painter not active, aborted
Я прочитал документацию QpdfWriter и родительских классов QPagedPaintDevice и QPaintDevice .Я не могу найти какое-либо свойство / метод, чтобы проверить, могу ли я написать в документ ...
Итак, вопрос - как проверить, могу ли я написать в документ?