How can I open openexr image on qt widget
-
@VRonin even the libs was fine, but in question my qt still does not open and I still have some doubts,
- Do I need to add the openexr and libs includes?
- Can I continue using the QPixelmap label?
- In kimageformat did not come any include in .h, do I have to use .desktop or use the openexr includes to open the image?
This is the function I'm using to open an image
void MainWindow::on_actionOpen_Image_triggered() { QString filter = "Imagens (*.bmp *.cur *.gif *icns *.ico *.jpg *.jpeg *.pdm *.pgm *.png *.ppm *.svg *.tga *.tif *.tiff *.wbmp *.webp *.xmb *.xpm) ;; All Files (*.*)"; QString filename = QFileDialog::getOpenFileName(this, "Open", QDir::homePath(), filter); QFile file(filename); QImage image(filename); if (!image.isNull()) { QImage image(filename); image = image.scaledToWidth(ui->labelimg->width(), Qt::SmoothTransformation); image = image.scaledToWidth(ui->labelimg->height(), Qt::SmoothTransformation); ui->labelimg->setPixmap(QPixmap::fromImage(image)); } else { QMessageBox::warning(this, "Error", "Image can not open"); filename = ""; } }
-
Where did you install the plugins ?
You can also set theQT_DEBUG_PLUGINS
environment variable to 1 in the Run part of the Project panel to see what is happening. -
@SGaist The .desktop files are in the files and programs folder, the libs continued in the folder on I compiled, which was in C: / Git / kimageformat / build, and the dll were for the qt compiler itself, msvc2017-64 in the plugin / image folder
One more thing, in this directory "C: \ Qt \ 5.12.0 \ msvc2017_64 \ plugins \ imageformats", I realized that the "tga" format, had tbm support here, and gives the same error when I try to open open exr in the app debug "QImage :: scaleWidth: Image is a null image".
First I used the .dll, .pdb files with this name "kimg_exr", then renamed "qexr", both the dll and the pdb, but it still did not work, nor with the native tga that worked right.
And if it is useful these are my includes
#include "mainwindow.h" #include "ui_mainwindow.h" #include <QDesktopServices> #include <QMessageBox> #include <QUrl> #include <QFile> #include <QFileDialog> #include <QImage> #include <QPixmap> #include <QImageIOPlugin> #include <QImageIOHandler>
source code: https://github.com/nathanmiguel123/Denoiser-Script
-
Did you call
nmake install
at some point ? -
Then this might explain the missing plugins.
-
Build what manually ?
The fact that you didn't call
nmake install
after building the module just means that you didn't install the libraries/plugins you built so that might be a reason why Qt can't find them. You should first try that. -
@SGaist well I did it, but still I keep giving it not opening
16:59:10: Running steps for project src... 16:59:10: Starting: "C:\Qt\Tools\QtCreator\bin\jom.exe" clean C:\Qt\Tools\QtCreator\bin\jom.exe -f Makefile.Debug clean del debug\moc_predefs.h del debug\moc_mainwindow.cpp del ui_mainwindow.h del debug\main.obj debug\mainwindow.obj debug\moc_mainwindow.obj del debug\src.exp debug\src.vc.pdb debug\src.ilk debug\src.idb C:\Qt\Tools\QtCreator\bin\jom.exe -f Makefile.Release clean del release\moc_predefs.h del release\moc_mainwindow.cpp del ui_mainwindow.h del release\main.obj release\mainwindow.obj release\moc_mainwindow.obj del release\src.exp NÆo foi poss¡vel encontrar C:\Git\Denoiser-Script\build-src-Desktop_Qt_5_12_0_MSVC2017_64bit-Debug\release\moc_predefs.h NÆo foi poss¡vel encontrar C:\Git\Denoiser-Script\build-src-Desktop_Qt_5_12_0_MSVC2017_64bit-Debug\release\moc_mainwindow.cpp NÆo foi poss¡vel encontrar C:\Git\Denoiser-Script\build-src-Desktop_Qt_5_12_0_MSVC2017_64bit-Debug\ui_mainwindow.h NÆo foi poss¡vel encontrar C:\Git\Denoiser-Script\build-src-Desktop_Qt_5_12_0_MSVC2017_64bit-Debug\release\main.obj NÆo foi poss¡vel encontrar C:\Git\Denoiser-Script\build-src-Desktop_Qt_5_12_0_MSVC2017_64bit-Debug\release\src.exp del src.exp NÆo foi poss¡vel encontrar C:\Git\Denoiser-Script\build-src-Desktop_Qt_5_12_0_MSVC2017_64bit-Debug\src.exp del src.vc.pdb NÆo foi poss¡vel encontrar C:\Git\Denoiser-Script\build-src-Desktop_Qt_5_12_0_MSVC2017_64bit-Debug\src.vc.pdb del src.ilk NÆo foi poss¡vel encontrar C:\Git\Denoiser-Script\build-src-Desktop_Qt_5_12_0_MSVC2017_64bit-Debug\src.ilk del src.idb NÆo foi poss¡vel encontrar C:\Git\Denoiser-Script\build-src-Desktop_Qt_5_12_0_MSVC2017_64bit-Debug\src.idb 16:59:11: The process "C:\Qt\Tools\QtCreator\bin\jom.exe" exited normally. 16:59:11: Starting: "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\nmake.exe" Microsoft (R) Program Maintenance Utility Versão 14.16.27025.1 Direitos autorais da Microsoft Corporation. Todos os direitos reservados. "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\nmake.exe" -f Makefile.Debug Microsoft (R) Program Maintenance Utility Versão 14.16.27025.1 Direitos autorais da Microsoft Corporation. Todos os direitos reservados. C:\Qt\5.12.0\msvc2017_64\bin\uic.exe ..\src\mainwindow.ui -o ui_mainwindow.h cl -BxC:\Qt\5.12.0\msvc2017_64\bin\qmake.exe -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -Zi -MDd -std:c++17 -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E ..\..\..\Qt\5.12.0\msvc2017_64\mkspecs\features\data\dummy.cpp 2>NUL >debug\moc_predefs.h C:\Qt\5.12.0\msvc2017_64\bin\moc.exe -DUNICODE -D_UNICODE -DWIN32 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DWIN64 -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB --compiler-flavor=msvc --include C:/Git/Denoiser-Script/build-src-Desktop_Qt_5_12_0_MSVC2017_64bit-Debug/debug/moc_predefs.h -IC:/Qt/5.12.0/msvc2017_64/mkspecs/win32-msvc -IC:/Git/Denoiser-Script/src -IC:/Qt/5.12.0/msvc2017_64/include -IC:/Qt/5.12.0/msvc2017_64/include/QtWidgets -IC:/Qt/5.12.0/msvc2017_64/include/QtGui -IC:/Qt/5.12.0/msvc2017_64/include/QtANGLE -IC:/Qt/5.12.0/msvc2017_64/include/QtCore -I. -I"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.16.27023\include" -I"C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\cppwinrt" ..\src\mainwindow.h -o debug\moc_mainwindow.cpp cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -Zi -MDd -std:c++17 -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -EHsc /Fddebug\src.vc.pdb -DUNICODE -D_UNICODE -DWIN32 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DWIN64 -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I..\src -I. -I..\..\..\Qt\5.12.0\msvc2017_64\include -I..\..\..\Qt\5.12.0\msvc2017_64\include\QtWidgets -I..\..\..\Qt\5.12.0\msvc2017_64\include\QtGui -I..\..\..\Qt\5.12.0\msvc2017_64\include\QtANGLE -I..\..\..\Qt\5.12.0\msvc2017_64\include\QtCore -Idebug -I. -I\include -I..\..\..\Qt\5.12.0\msvc2017_64\mkspecs\win32-msvc -Fodebug\ @C:\Users\natha\AppData\Local\Temp\nm127F.tmp main.cpp mainwindow.cpp Gerando C¢digo... cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -Zi -MDd -std:c++17 -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -EHsc /Fddebug\src.vc.pdb -DUNICODE -D_UNICODE -DWIN32 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DWIN64 -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I..\src -I. -I..\..\..\Qt\5.12.0\msvc2017_64\include -I..\..\..\Qt\5.12.0\msvc2017_64\include\QtWidgets -I..\..\..\Qt\5.12.0\msvc2017_64\include\QtGui -I..\..\..\Qt\5.12.0\msvc2017_64\include\QtANGLE -I..\..\..\Qt\5.12.0\msvc2017_64\include\QtCore -Idebug -I. -I\include -I..\..\..\Qt\5.12.0\msvc2017_64\mkspecs\win32-msvc -Fodebug\ @C:\Users\natha\AppData\Local\Temp\nm1EE4.tmp moc_mainwindow.cpp link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:debug\src.exe @C:\Users\natha\AppData\Local\Temp\nm23F6.tmp 16:59:17: The process "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\nmake.exe" exited normally. 16:59:17: Configuration unchanged, skipping qmake step. 16:59:17: Starting: "C:\Qt\Tools\QtCreator\bin\jom.exe" C:\Qt\Tools\QtCreator\bin\jom.exe -f Makefile.Debug 16:59:17: The process "C:\Qt\Tools\QtCreator\bin\jom.exe" exited normally. 16:59:17: Elapsed time: 00:07.
-
Did you run your application with the
QT_DEBUG_PLUGINS
environment variable set to 1 to see what exactly is happening with the plugins ? -
Might be a silly remark but the casing is important as well as the name. It's
QT_DEBUG_PLUGINS
notq_debug_plugin
.