C++ Qt 5 QPrinterInfo::availablePrinters()未动态列出打印机

C++ Qt 5 QPrinterInfo::availablePrinters()未动态列出打印机,c++,qt,qt5,qprinter,C++,Qt,Qt5,Qprinter,我正在使用AvailablePrints更新打印机列表。但它无法列出运行应用程序时添加的新打印机。它与Qt4配合使用效果良好 代码如下所示: #include <QCoreApplication> #include <QtPrintSupport/QPrinterInfo> #include <QThread> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplic

我正在使用AvailablePrints更新打印机列表。但它无法列出运行应用程序时添加的新打印机。它与Qt4配合使用效果良好

代码如下所示:

#include <QCoreApplication>
#include <QtPrintSupport/QPrinterInfo>
#include <QThread>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    while (1) {
        QThread::msleep(3000);
        qDebug()<<"List of printers";
        QList<QPrinterInfo> printerList=QPrinterInfo::availablePrinters();
        foreach (QPrinterInfo printerInfo, printerList) {
            qDebug()<<printerInfo.printerName();
        }

    }
    return a.exec();
}

这是现有Qt版本的一个bug,在下一个版本中得到了修复

您使用的是Qt 5.1.1吗?在5.2分支之后,您是否也尝试过稳定?但是,如果在添加新打印机后重新启动应用程序,它是否有效?在重新启动应用程序后,它是否有效。我不知道在5.2分支后,您是否也尝试过稳定?您是否尝试过Qt 5.1.1?下一个问题,如果这不起作用:您是否尝试从源git/stable分支构建它?我使用的qt 5.1.1仍然面临同样的问题,如何从sourcegit.stable分支构建它qt 5.0.X也不起作用?你能查一下吗?而且,它不在任何主机平台上工作,或者只在一个特定的主机平台上工作?