我有一个用C ++为iPad开发的Qt应用程序,该应用程序有时需要打印内容。为了进行打印,我调用了Objective-C和C ++代码的以下组合:
void PrinterManagerImpl::print(const QString& a_PathToImg)
{
setPrintInfo();
auto imgUrl([NSURL fileURLWithPath:a_PathToImg.toNSString()]);
auto canPrint([UIPrintInteractionController canPrintURL: imgUrl]);
auto controller = [UIPrintInteractionController sharedPrintController];
if(controller && canPrint)
{
controller.printInfo = m_PrintInfo;
[m_Renderer setImgPath: a_PathToImg.toNSString()];
controller.printPageRenderer = m_Renderer;
qInfo() << "Printing image located at <" << QUrl::fromNSURL(imgUrl) << ">";
[controller printToPrinter: m_Printer
completionHandler: ^(UIPrintInteractionController* /*printCtrl*/, BOOL completed, NSError* err)
{
if(completed && !err)
{
qInfo() << "Print successful";
}
}];
}
}
我不得不使用该UIPrintInteractionController hack,因为QPrinter在iOS下不起作用。
现在,我的问题是在打印时出现一个对话框,指出该应用程序正在连接到打印机并想要打印。在该对话框上,有一个我想禁用的取消按钮。我该如何实现?
谢谢!