nous utilisons la version QT 5.6 Nous avons une application C++ sur Qt Widgets. Dans certains plug-in (créé avec Q_PLUGIN_METADATA et Q_INTERFACES) de cette application, nous utilisons QML: dans certains Widget nous créons QQuickWidgetRectangle noir à la place QQuickWidget (usecase spécifique). Problèmes OpenGL
QQuickWidget* quickWidget = new QQuickWidget(this);
faire quelques opérations avec le contexte
QQmlContext* ctxt = quickWidget->rootContext();
et la source mis
quickWidget->setSource(QUrl(QStringLiteral("qrc:/Resources/WebResources/main.qml")));
Parfois, nous avons des problèmes avec ce widget d'affichage - rectangle noir apparaît.
Nous avons ajouté libEGL.dll, libGLESv2.dll, d3dcompiler_47.dll et opengl32sw.dll.
Nous essayons également de définir l'indicateur Qt :: AA_UseSoftwareOpenGL pour la QApplication principale (avant la construction de QApplication) mais cette opération ne donne pas de résultats.
La reproduction stable que nous avons sur une machine virtuelle avec Win7.
QQuickWidget sur Virtual Mashine semble bon après l'ajout de la carte vidéo 3D RemoteFX. Mais pouvons-nous montrer QQuickWidget avec l'adaptateur vidéo 3D RemoteFX?
après la création QQuickWidget nous avons WinDBG
ModLoad: 6ee10000 6ee18000 C:\Users\admin\Desktop\Release\Win32\QtQuick.2\qtquick2plugin.dll
ModLoad: 66c50000 66cfd000 C:\Users\admin\Desktop\Release\Win32\QtQuick\Controls\qtquickcontrolsplugin.dll
ModLoad: 6ee00000 6ee08000 C:\Users\admin\Desktop\Release\Win32\QtQuick\Window.2\windowplugin.dll
ModLoad: 656a0000 65863000 C:\Windows\system32\d3d9.dll
ModLoad: 749b0000 749b9000 C:\Windows\system32\VERSION.dll
ModLoad: 6edf0000 6edf6000 C:\Windows\system32\d3d8thk.dll
ModLoad: 662f0000 663b8000 C:\Windows\system32\opengl32.dll
ModLoad: 6dc80000 6dca2000 C:\Windows\system32\GLU32.dll
ModLoad: 655b0000 65697000 C:\Windows\system32\DDRAW.dll
ModLoad: 6edd0000 6edd6000 C:\Windows\system32\DCIMAN32.dll
ModLoad: 6d7f0000 6d7f7000 C:\Users\admin\Desktop\Release\Win32\libEGL.DLL
ModLoad: 65420000 655ac000 C:\Users\admin\Desktop\Release\Win32\libGLESv2.dll
ModLoad: 650c0000 65416000 C:\Users\admin\Desktop\Release\Win32\d3dcompiler_47.dll
ModLoad: 74550000 745d3000 C:\Windows\system32\dxgi.dll
ModLoad: 66bc0000 66c43000 C:\Windows\system32\d3d11.dll
ModLoad: 75730000 7575d000 C:\Windows\system32\WINTRUST.dll
ModLoad: 64d60000 650b6000 C:\Users\admin\Desktop\Release\Win32\d3dcompiler_47.dll
ModLoad: 74550000 745d3000 C:\Windows\system32\dxgi.dll
ModLoad: 66260000 662e3000 C:\Windows\system32\d3d11.dll
ModLoad: 650c0000 65416000 C:\Users\admin\Desktop\Release\Win32\d3dcompiler_47.dll
QWindowsEGLStaticContext::create: Could not initialize EGL display: error 0x3001
QWindowsEGLStaticContext::create: When using ANGLE, check if d3dcompiler_4x.dll is available
ModLoad: 64530000 65411000 C:\Users\admin\Desktop\Release\Win32\opengl32sw.dll
ModLoad: 75a80000 75aaa000 C:\Windows\system32\imagehlp.dll
ModLoad: 6da80000 6db6b000 C:\Windows\system32\dbghelp.dll
Où problème?
Votre question est très large. Il n'y a pas [mcve] (http://stackoverflow.com/help/mcve) – ckruczek
Peut-être similaire: https://bugreports.qt.io/browse/QTBUG-47435 – Velkan