QtCreator生成的新QML项目在Windows下不显示QML内容。
以下是我所做的:
当我在我的开发机器上运行这个构建时,它工作得很好:
当我试图在新虚拟机上运行完全相同的应用程序时,会出现窗口,但是窗口中的QML内容是不可见的( ==可滚动列表没有出现):
我猜想这是一个部署问题,所以我试着遵循以下指南:https://wiki.qt.io/Deploy_an_Application_on_Windows。我遵循以下步骤:“
将以下内容复制到C中:\部署
MyApp.exe的发行版
所有来自.dll的C:\Qt\5.2.1\mingw48_32\bin文件
来自C:\Qt\5.2.1\mingw48_32\plugins的所有文件夹
(如果使用QML) C:\Qt\5.2.1\mingw48_32\qml中的所有文件夹
“
实际上,我不得不为自己翻译成这些步骤:“
将以下内容复制到C中:\部署
QtCreatorScrollProject.exe的发行版
所有来自.dll的C:\Qt\5.12.2\msvc2017_64\bin文件
来自C:\Qt\5.12.2\msvc2017_64\plugins的所有文件夹
(如果使用QML) C:\Qt\5.12.2\msvc2017_64\qml中的所有文件夹“
但是即使在做了这些之后,这个应用程序也没有显示QML内容。
因此,我检查了这些附加的内容:更多的信息:这是应用程序在QML_IMPORT_TRACE=1
中运行时的输出:
> set QML_IMPORT_TRACE=1
> QtCreatorScrollProject.exe
warning: Environment variable QT_LOGGING_TO_CONSOLE is deprecated, use
QT_ASSUME_STDERR_HAS_CONSOLE and/or QT_FORCE_STDERR_LOGGING instead.
QQmlImportDatabase::addImportPath: "C:/Users/User/Downloads/6/6/qml"
QQmlImportDatabase::addImportPath: "qrc:/qt-project.org/imports"
QQmlImportDatabase::addImportPath: "C:/Users/User/Downloads/6/6"
QQmlImports(qrc:/main.qml)::addLibraryImport: "QtQuick" 2.12 as
""
QQmlImports(qrc:/main.qml)::importExtension: loaded
"C:/Users/User/Downloads/6/6/QtQuick.2/qmldir"
QQmlImportDatabase::registerPluginTypes: "QtQuick" from
"C:/Users/User/Downloads/6/6/QtQuick.2"
QQmlImports(qrc:/main.qml)::addLibraryImport: "QtQuick.Controls" 2.5
as ""
QQmlImports(qrc:/main.qml)::importExtension: loaded
"C:/Users/User/Downloads/6/6/QtQuick/Controls.2/qmldir"
QQmlImportDatabase::registerPluginTypes: "QtQuick.Controls" from
"C:/Users/User/Downloads/6/6/QtQuick/Controls.2"
QQmlImports(qrc:/main.qml)::addLibraryImport: "QtQuick" 2.0 as
"QmlInternals"
QQmlImports(qrc:/main.qml)::importExtension: loaded
"C:/Users/User/Downloads/6/6/QtQuick.2/qmldir"
QQmlImports(qrc:/main.qml)::resolveType: "ScrollView" =>
"" QUrl("qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollView.qml") TYPE/URL
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollView.qml)::addLibraryImport:
"QtQuick" 2.12 as ""
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollView.qml)::importExtension:
loaded "C:/Users/User/Downloads/6/6/QtQuick.2/qmldir"
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollView.qml)::addLibraryImport:
"QtQuick.Controls" 2.12 as ""
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollView.qml)::importExtension:
loaded "C:/Users/User/Downloads/6/6/QtQuick/Controls.2/qmldir"
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollView.qml)::addLibraryImport:
"QtQuick.Controls.impl" 2.12 as ""
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollView.qml)::addLibraryImport:
"QtQuick.Templates" 2.12 as "T"
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollView.qml)::importExtension:
loaded "C:/Users/User/Downloads/6/6/QtQuick/Templates.2/qmldir"
QQmlImportDatabase::registerPluginTypes: "QtQuick.Templates" from
"C:/Users/User/Downloads/6/6/QtQuick/Templates.2"
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollView.qml)::resolveType:
"ScrollBar" => "" QUrl("qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollBar.qml") TYPE/URL
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollBar.qml)::addLibraryImport:
"QtQuick" 2.12 as ""
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollBar.qml)::importExtension: loaded
"C:/Users/User/Downloads/6/6/QtQuick.2/qmldir"
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollBar.qml)::addLibraryImport:
"QtQuick.Controls" 2.12 as ""
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollBar.qml)::importExtension: loaded
"C:/Users/User/Downloads/6/6/QtQuick/Controls.2/qmldir"
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollBar.qml)::addLibraryImport:
"QtQuick.Controls.impl" 2.12 as ""
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollBar.qml)::addLibraryImport:
"QtQuick.Templates" 2.12 as "T"
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollBar.qml)::importExtension: loaded
"C:/Users/User/Downloads/6/6/QtQuick/Templates.2/qmldir"
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollBar.qml)::resolveType:
"Transition" => "QQuickTransition" TYPE
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollBar.qml)::resolveType:
"Rectangle" => "QQuickRectangle" TYPE
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollBar.qml)::resolveType:
"NumberAnimation" => "QQuickNumberAnimation" TYPE
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollBar.qml)::resolveType:
"T.ScrollBar" => "QQuickScrollBar" TYPE
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollBar.qml)::resolveType:
"SequentialAnimation" => "QQuickSequentialAnimation"
TYPE
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollBar.qml)::resolveType:
"PauseAnimation" => "QQuickPauseAnimation" TYPE
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollBar.qml)::resolveType:
"State" => "QQuickState" TYPE
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollBar.qml)::resolveType:
"PropertyChanges" => "QQuickPropertyChanges" TYPE
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollBar.qml)::addImplicitImport
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollView.qml)::resolveType:
"T.ScrollView" => "QQuickScrollView" TYPE
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollView.qml)::addImplicitImport
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollView.qml)::resolveType:
"ScrollBar" => "" QUrl("qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollBar.qml") TYPE/URL
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollView.qml)::resolveType:
"ScrollBar" => "" QUrl("qrc:/qt-
project.org/imports/QtQuick/Controls.2/ScrollBar.qml") TYPE/URL
QQmlImports(qrc:/main.qml)::resolveType: "ListView" =>
"QQuickListView" TYPE
QQmlImports(qrc:/main.qml)::resolveType: "ApplicationWindow" =>
"" QUrl("qrc:/qt-
project.org/imports/QtQuick/Controls.2/ApplicationWindow.qml") TYPE/URL
QQmlImports(qrc:/qt-project.org/imports/QtQuick/Controls.2/ApplicationWindow.q
ml)::addLibraryImport: "QtQuick" 2.12 as ""
QQmlImports(qrc:/qt-project.org/imports/QtQuick/Controls.2/ApplicationWindow.q
ml)::importExtension: loaded
"C:/Users/User/Downloads/6/6/QtQuick.2/qmldir"
QQmlImports(qrc:/qt-project.org/imports/QtQuick/Controls.2/ApplicationWindow.q
ml)::addLibraryImport: "QtQuick.Window" 2.12 as ""
QQmlImports(qrc:/qt-project.org/imports/QtQuick/Controls.2/ApplicationWindow.q
ml)::importExtension: loaded
"C:/Users/User/Downloads/6/6/QtQuick/Window.2/qmldir"
QQmlImportDatabase::registerPluginTypes: "QtQuick.Window" from
"C:/Users/User/Downloads/6/6/QtQuick/Window.2"
QQmlImports(qrc:/qt-project.org/imports/QtQuick/Controls.2/ApplicationWindow.q
ml)::addLibraryImport: "QtQuick.Controls" 2.12 as ""
QQmlImports(qrc:/qt-project.org/imports/QtQuick/Controls.2/ApplicationWindow.q
ml)::importExtension: loaded
"C:/Users/User/Downloads/6/6/QtQuick/Controls.2/qmldir"
QQmlImports(qrc:/qt-project.org/imports/QtQuick/Controls.2/ApplicationWindow.q
ml)::addLibraryImport: "QtQuick.Controls.impl" 2.12 as ""
QQmlImports(qrc:/qt-project.org/imports/QtQuick/Controls.2/ApplicationWindow.q
ml)::addLibraryImport: "QtQuick.Templates" 2.12 as "T"
QQmlImports(qrc:/qt-project.org/imports/QtQuick/Controls.2/ApplicationWindow.q
ml)::importExtension: loaded
"C:/Users/User/Downloads/6/6/QtQuick/Templates.2/qmldir"
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ApplicationWindow.qml)::resolveType:
"Rectangle" => "QQuickRectangle" TYPE
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ApplicationWindow.qml)::resolveType:
"T.ApplicationWindow" => "QQuickApplicationWindow" TYPE
QQmlImports(qrc:/qt-project.org/imports/QtQuick/Controls.2/ApplicationWindow.q
ml)::addImplicitImport
QQmlImports(qrc:/main.qml)::resolveType: "ItemDelegate" =>
"" QUrl("qrc:/qt-
project.org/imports/QtQuick/Controls.2/ItemDelegate.qml") TYPE/URL
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ItemDelegate.qml)::addLibraryImport:
"QtQuick" 2.12 as ""
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ItemDelegate.qml)::importExtension:
loaded "C:/Users/User/Downloads/6/6/QtQuick.2/qmldir"
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ItemDelegate.qml)::addLibraryImport:
"QtQuick.Controls" 2.12 as ""
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ItemDelegate.qml)::importExtension:
loaded "C:/Users/User/Downloads/6/6/QtQuick/Controls.2/qmldir"
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ItemDelegate.qml)::addLibraryImport:
"QtQuick.Controls.impl" 2.12 as ""
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ItemDelegate.qml)::addLibraryImport:
"QtQuick.Templates" 2.12 as "T"
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ItemDelegate.qml)::importExtension:
loaded "C:/Users/User/Downloads/6/6/QtQuick/Templates.2/qmldir"
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ItemDelegate.qml)::resolveType:
"IconLabel" => "QQuickIconLabel" TYPE
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ItemDelegate.qml)::resolveType:
"T.ItemDelegate" => "QQuickItemDelegate" TYPE
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ItemDelegate.qml)::resolveType:
"Rectangle" => "QQuickRectangle" TYPE
QQmlImports(qrc:/qt-
project.org/imports/QtQuick/Controls.2/ItemDelegate.qml)::addImplicitImport
QQmlImports(qrc:/main.qml)::resolveType: "QmlInternals.Component"
=> "QQmlComponent" TYPE
QQmlImports(qrc:/main.qml)::addImplicitImport
还有:“Windows的可访问性洞察力”应用程序显示有一些东西,只是看不见:
更多的信息:
contents)
下面是Windows7 VM的上下文(如OpenGL扩展查看器所示),其中确实显示了OpenGL内容:
下面是Windows10 VM的上下文(如OpenGL扩展查看器所示),其中没有显示OpenGL内容:
我尝试了很多方法来解决这个问题:从更新所有的驱动程序,到尝试强制使用不同的渲染器。到目前为止什么都没起作用。
发布于 2022-08-11 02:00:07
在Qt 6中,角不再存在。您可以在代码中强制OpenGL,在main.cpp的开头:
#include <QQuickWindow>
...
#if defined(Q_OS_WIN)
QQuickWindow::setGraphicsApi(QSGRendererInterface::OpenGL);
#endif
https://stackoverflow.com/questions/67446762
复制相似问题