gpt4 book ai didi

c++ - 是否可以从 QPrintPreviewDialog 调用的 QPrinter 对话框中删除 "Write to PDF"?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:13:23 24 4
gpt4 key购买 nike

当从 QPrintPreviewDialog 打印文档时,我不想在 Linux 下从调用的 QPrinter 设置对话框中的打印机列表中删除“写入 PDF”。可以吗?

我已经尝试用我自己的按钮和操作替换 QPrintPreviewDialog 中的打印图标,但 Qt 仍然显示标准的 QPrinter 对话框,我不知道如何从该对话框的打印机列表中删除“写入 PDF”。

最佳答案

简短回答:不,无法更改默认打印对话框中的打印机列表。

解决方法:如果用户选择“打印到文件”选项,则不要打印任何内容(并且可能会告诉他们他们不会从您的应用中获得 PDF)。

您可以这样做:将 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
}
}

关于 this 的回答中关于该主题的更多(也许是鼓舞人心的)想法所以问题。

关于c++ - 是否可以从 QPrintPreviewDialog 调用的 QPrinter 对话框中删除 "Write to PDF"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57850957/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com