【发布时间】: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
【问题讨论】: