【问题标题】:Why does QPrinterInfo::availablePrinters() return an empty list on some PCs with printers?为什么 QPrinterInfo::availablePrinters() 在某些带有打印机的 PC 上返回一个空列表?
【发布时间】:2021-03-29 20:54:25
【问题描述】:

QPrinterInfo::availablePrinters()QPrinterInfo::availablePrinterNames() 在 Windows PC 上返回一个空列表,但在“控制面板”➔ 设备和打印机中显示打印机。

打印机未连接到计算机。我至少希望 Qt 显示“Microsoft Print to PDF”。这在具有 WiFi 打印机连接的 PC 上也会失败。

这适用于带有打印机的 PC,无论是直接连接还是通过网络连接。

有关如何显示打印机对话框的任何建议,该对话框填充了与本机应用程序相同的打印机列表?

QString buf;
QStringList allPrintersName = QPrinterInfo::availablePrinterNames();
QList <QString>::const_iterator sit;
for(sit = allPrintersName.cbegin(); sit != allPrintersName.cend(); sit++)
    buf += *sit + "\n";
QMessageBox(QMessageBox::NoIcon, "Printer Names", buf).exec(); // empty message

buf = "";
QList<QPrinterInfo> allPrintersInfo = QPrinterInfo::availablePrinters();
QList <QPrinterInfo>::const_iterator pit;
for(pit = allPrintersInfo.cbegin(); pit != allPrintersInfo.cend(); pit++)
    buf += pit->printerName() + "\n";
QMessageBox(QMessageBox::NoIcon, "QPrinterInfo", buf).exec(); // empty message

【问题讨论】:

    标签: windows qt


    【解决方案1】:

    问题是由于不知道我需要在我的应用文件夹中安装以下内容引起的:

    ..\printsupport\windowsprintersupport.dll
    

    在这里回答: https://forum.qt.io/topic/39319/solved-qprinterinfo-availableprinters-don-t-list-available-printers

    https://forum.qt.io/post/197518

    【讨论】:

      猜你喜欢
      • 2013-10-01
      • 1970-01-01
      • 2023-01-05
      • 2021-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-30
      • 1970-01-01
      相关资源
      最近更新 更多