![](/img/trans.png)
[英]PDF report layout broken using setPaperSize(QPrinter::A4) QPrinter
[英]Is it possible to remove “Write to PDF” from QPrinter dialog called from QPrintPreviewDialog?
當從QPrintPreviewDialog打印文檔時,我不會在Linux下從稱為“ QPrinter設置”對話框的打印機列表中刪除“寫入PDF”。 有可能嗎?
我嘗試用自己的按鈕和操作替換QPrintPreviewDialog中的打印圖標,但Qt仍顯示標准的QPrinter對話框,並且我不知道如何從該對話框的打印機列表中刪除“寫入PDF”。
簡短的答案:不,沒有辦法在默認的打印對話框中更改打印機列表。
解決方法:如果用戶選擇“打印到文件”選項,則不要打印任何內容(也許告訴他們,您的應用程序將沒有PDF)。
您可以這樣進行:將QPrintPreviewDialog::paintRequested
信號連接到QPrintPreviewDialog::paintRequested
的插槽:
void Widget::onPaintRequested(QPrinter *printer)
{
QVariant printername = printer->printEngine()->property(QPrintEngine::PPK_PrinterName);
if(printername.toString().isEmpty())
{
QMessageBox::information(this, "Print issue", "Print to file is not available for weird unknown reasons ...");
}
else
{
//supply the requested paint code
}
}
在此 SO問題的答案中,關於該主題的其他一些想法(可能是鼓舞人心的)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.