QPrinter:must construct a qcoreapplication before a qprinter(从我另一个文章抄来的)

操作方法:vs2010 qt环境,最近试用qt的opengl,使用qt工具添加opengl后,编译正常,运行之后提示错误:QPrinter:must construct a qcoreapplication before a qprinter。

解决方法:查看属性,发现链接器中,引入的外部库不对,比如:

(当前编译release)

理想添加:lib为my.lib

实际添加:lib为myd.lib

将myd.lib改为my.lib即可。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您想要打印实体轮廓,您可以使用QPageSize类来获取A4纸的页面大小和形状,然后将其传递给QPrinter对象。然后,您可以使用QPageLayout类将页面大小、方向、边距和单位设置为适当的值,并将其传递给QPrinter对象。最后,您可以使用QPainter类的drawRect函数来绘制实体轮廓。以下是一个示例代码: ```cpp QPrinter printer(QPrinter::PrinterResolution); QPageSize pageSize(QPageSize::A4); // 获取A4纸的页面大小 QMarginsF margins(20, 20, 20, 20); // 设置边距为20mm QPageLayout::Orientation orientation = QPageLayout::Portrait; // 设置页面方向为纵向 QPageLayout::Mode mode = QPageLayout::FullPageMode; // 设置页面模式为全页面模式 QPageLayout::Unit unit = QPageLayout::Millimeter; // 设置页面单位为毫米 QPageLayout pageLayout(pageSize, orientation, margins, mode, unit); // 创建新的页面布局对象 printer.setPageLayout(pageLayout); // 设置页面布局 QPainter painter(&printer); // 创建一个新的QPainter对象,以便绘制实体轮廓 painter.drawRect(0, 0, pageSize.width(QPageSize::Millimeter), pageSize.height(QPageSize::Millimeter)); // 绘制实体轮廓 ``` 在上面的示例中,我们首先创建了一个QPrinter对象,并使用默认的打印机分辨率。然后,我们使用QPageSize类获取A4纸的页面大小,设置边距为20毫米,页面方向为纵向,页面模式为全页面模式,页面单位为毫米。最后,我们创建一个新的QPageLayout对象,将页面大小、方向、边距、模式和单位传递给它。最终,我们将更新后的页面布局传递给打印机对象。然后,我们创建一个新的QPainter对象,并使用drawRect函数在页面上绘制实体轮廓。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值