C++ 如何解决QT QPrintDialog打印机初始化错误?
我已经尝试解决Qt打印问题两天了,运气不太好。我有一个非常简单的程序,可以打印QTextEdit中的文本。我有基于Qt5.8.0(MSVC 2015,32位)的QtCreator 4.3.0,运行在64位Windows 7上 我在项目文件中添加了打印支持C++ 如何解决QT QPrintDialog打印机初始化错误?,c++,qt,printing,C++,Qt,Printing,我已经尝试解决Qt打印问题两天了,运气不太好。我有一个非常简单的程序,可以打印QTextEdit中的文本。我有基于Qt5.8.0(MSVC 2015,32位)的QtCreator 4.3.0,运行在64位Windows 7上 我在项目文件中添加了打印支持 QT += core gui sql printsupport 我在头文件中添加了引用 #include <QWidget> #include <QPrinter> #include <QPrintD
QT += core gui sql printsupport
我在头文件中添加了引用
#include <QWidget>
#include <QPrinter>
#include <QPrintDialog>
#include <QPrinterInfo>
#include <QDialog>
#include <QFile>
#include <QMessageBox>
#include <QTextStream>
在调试模式下单击“打印”按钮时,会出现以下错误:
QWin32PrintEngine::initialize: CreateDC failed ()
Windows 7中将显示以下对话框:
我的计算机上已经安装了默认打印机。
我搜索了QT支持,但找不到解决方案。这也没有被报告为bug。非常感谢您的帮助。我正在回答我自己的问题,因为我找不到解决方案。最后,经过4天的努力,我终于解决了这个问题。我只是重新安装了QT,问题就消失了。现在QT正在与Windows(QWin32PrintEngine)通信。我不必更改代码。我仍然不清楚这个问题最初为什么会发生,以及我如何能够预防它。我正在回答我自己的问题,因为我找不到解决方案。最后,经过4天的努力,我终于解决了这个问题。我只是重新安装了QT,问题就消失了。现在QT正在与Windows(QWin32PrintEngine)通信。我不必更改代码。我仍然不清楚这个问题最初为什么会发生,以及我是如何预防的。检查应用程序是否加载了“printsupport\windowsprintersupport.dll”插件。如果此插件丢失,QPrintDialog::exec将立即返回。检查应用程序是否加载了“printsupport\windowsprintersupport.dll”插件。如果此插件丢失,QPrintDialog::exec将立即返回。谢谢。重新安装QT后,问题已解决。谢谢。重新安装QT后,问题已解决。
QWin32PrintEngine::initialize: CreateDC failed ()