У меня есть следующий код:Qt PrintPreviewDialog, при нажатии кнопки «Печать», сбои программы. Почему?
void Test1::on_pushButton_1_clicked() // print the information
{
QPrinter printer(QPrinter::HighResolution);
printer.setCreator("Me");
printer.setDocName("Print");
printer.setPaperSize(QPrinter::A4);
QPrintPreviewDialog *pd = new QPrintPreviewDialog(&printer);
connect(pd,SIGNAL(paintRequested(QPrinter*)),this,SLOT(print(QPrinter*)));
pd->exec();
}
void Test1::print(QPrinter *p)
{
QPainter painter(p);
painter.setPen(Qt::blue);
painter.setRenderHints(QPainter::Antialiasing |
QPainter::TextAntialiasing |
QPainter::SmoothPixmapTransform, true);
painter.drawText(100, 100, "Name: ");
painter.drawText(300, 100, "SuperMan");
}
Она работает в моих экспериментальных проектов, которые с 1 класса [1] диалогового только, но в моем главном проекте, когда я нажимаю кнопку, начинается предварительный просмотр успешно, но затем, когда я нажимаю кнопку «Печать», моя программа просто падает. В нем говорится: «Ваша программа перестала работать, окна будут искать решение» или что-то в этом роде. Мне нужно сказать, что в моей программе много классов и диалогов. Я почти уверен, что проблема с указателями. У меня мало опыта, поэтому я просто не могу найти, где моя ошибка. Пожалуйста, посмотрите мой код и скажите мне, что мне делать, потому что у меня есть еще 2 дня, чтобы закончить этот проект. Спасибо вам большое заблаговременно.
добавить некоторые 'qDebug()' s и посмотреть, где он сбой. или просто запустить в отладчике –
возможный дубликат [QPrinter При нажатии кнопки моя программа вылетает из-за чего?] (http://stackoverflow.com/questions/18752218/qprinter-when-click-button-my-program-crashes-why) – GitaarLAB