Reg*_*ing 4 windows deployment qt4 qt5
我遇到Qt4到Qt5的麻烦.在我的应用程序中,当用户点击打印按钮时,应该发生两件事,一件是PDF写入磁盘(在新版本中仍能正常工作,因此我知道某些打印功能正常工作)而另一件是一个QPrintDialog应该exec()然后发送到连接的打印机.
我从开发机器启动时看到对话框.应用程序在已部署的计算机上启动,但QPrintDialog从不显示,文档永远不会打印.
我包括印刷支持.
QT += core gui network webkitwidgets widgets printsupport
Run Code Online (Sandbox Code Playgroud)
我一直在使用Process Explorer来查看应用程序在我的开发机器上使用的DLL,我相信一切都存在.我的应用程序包包括:
以下是相关的代码段:
void PrintableForm::printFile()
{
//Writes the PDF to disk in every environment
pdfCopy();
//Paper Copy only works on my dev machine
QPrinter paperPrinter;
QPrintDialog printDialog(&paperPrinter,this);
if( printDialog.exec() == QDialog::Accepted ) {
view->print(&paperPrinter);
}
this->accept();
}
Run Code Online (Sandbox Code Playgroud)
我的第一个想法是没有找到相关的DLL到打印时间,这意味着我的应用程序文件系统不正确,但我没有发现任何显示我不同的文件结构.我是在正确的轨道上还是这个设置还有其他问题?
这是另一个经典的Windows/Qt5部署问题,它将缺少的插件和插件放在不正确的位置.通过使用环境变量QT_DEBUG_PLUGIN并将CONFIG + = CONSOLE添加到我的PRO文件,我能够在我的开发机器上看到应用程序正在加载我没有发货的qminimal.dll.
我定义为{myAppPath} \的应用程序根目录是插件的根目录.因此,正确的文件结构是:
谢谢佩佩领导.
| 归档时间: |
|
| 查看次数: |
4070 次 |
| 最近记录: |