QPrinter 单击按钮时我的程序崩溃为啥?
Posted
技术标签:
【中文标题】QPrinter 单击按钮时我的程序崩溃为啥?【英文标题】:QPrinter When click button my program crashes Why?QPrinter 单击按钮时我的程序崩溃为什么? 【发布时间】:2013-09-16 03:05:20 【问题描述】:当我单击按钮时,程序崩溃。我将发布我的代码:
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");
请告诉我我的错误在哪里。 提前致谢。
【问题讨论】:
“QPrintPreviewDialog *pd = new QPrintPreviewDialog(&printer);”在哪里位于您的代码中? 我们可以看到它在 button_clicked 函数中声明。你到底是什么意思?我对指针还不是很好。 QPrintPreviewDialog *pd = new QPrintPreviewDialog(&printer);只有在那里,你看到它。我没有在其他任何地方使用过它 在你的代码中看起来好像它在外面 您可以按原样粘贴整个代码吗?另外,能否请您发送回溯?您使用的是哪个操作系统,哪个 Qt 版本等? 这是整个代码,其他都是代理模型,列表模型。我的主要目标是从 TableView 单元格中获取价值。我得到了这个值,然后我把它放在了 drawText 函数中。当我按下按钮时,我的 PrintPreview 出现了,没有问题,但是当我单击其中的打印按钮时,我的程序崩溃了。正如您在 drawText 中的帖子代码中看到的那样,我使用了一些现成的字符串“SuperMan”,程序再次崩溃。我想,这可能是问题所在。但不是。您在帖子中看到的没有更多关于此的内容。这就是一切。再次感谢 【参考方案1】:感谢大家的回答,终于解决了我的问题。那我是怎么解决的呢?我刚刚将发布模式更改为调试模式。塔达姆。而已。该文件更大一些,但谁在乎。一切都很好。再次感谢您的回答。
【讨论】:
以上是关于QPrinter 单击按钮时我的程序崩溃为啥?的主要内容,如果未能解决你的问题,请参考以下文章
为啥当我单击按钮时我的数据不去并且没有提交到 MySQL 数据库?