QPrinter printer(QPrinter::HighResolution);// 设置默认打印机QPrintDialog::setDefaultPrinter(&printer);QPrintPreviewDialog preview(&printer);connect(&preview, SIGNAL(paintRequested(QPrinter*)), SLOT(printPreview(QPrinter*)));preview.exec();出现报错index.cpp:966:23: error: no type named 'setDefaultPrinter' in 'QPrintDialog'
时间: 2023-12-12 08:03:15 浏览: 293
后引入和修改-矿用本安型网口电路设计
这个错误提示是因为您尝试在 QPrintDialog 类型的对象上调用 setDefaultPrinter() 方法,但是 QPrintDialog 并没有定义这个方法。您需要将 QPrinter::setDefaultPrinter() 方法直接调用,而不是在 QPrintDialog 上调用。修改代码如下:
```
QPrinter printer(QPrinter::HighResolution);
QPrinter::setDefaultPrinter(&printer);
QPrintPreviewDialog preview(&printer);
connect(&preview, SIGNAL(paintRequested(QPrinter*)), SLOT(printPreview(QPrinter*)));
preview.exec();
```
这样就可以正常设置默认打印机了。
阅读全文