Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何解决QT QPrintDialog打印机初始化错误?_C++_Qt_Printing - Fatal编程技术网

C++ 如何解决QT QPrintDialog打印机初始化错误?

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打印问题两天了,运气不太好。我有一个非常简单的程序,可以打印QTextEdit中的文本。我有基于Qt5.8.0(MSVC 2015,32位)的QtCreator 4.3.0,运行在64位Windows 7上

我在项目文件中添加了打印支持

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 ()