3 秒后所有 QT Quick Application 崩溃
Posted
技术标签:
【中文标题】3 秒后所有 QT Quick Application 崩溃【英文标题】:All QT Quick Application crash after 3 seconds 【发布时间】:2018-08-10 12:21:45 【问题描述】:我可以很好地运行样板 QT 快速应用程序(空项目) - 窗口显示并且不会崩溃。如果我然后用一些简单的控件更新 QML 并运行应用程序,它会显示窗口 3 秒然后崩溃。当我运行示例 QT Quick 应用程序项目时也会出现此问题。
应用程序输出窗口显示:
程序意外结束。 进程被强行结束。
出了什么问题,我该如何解决?
信息:
我在 Windows 10 64bit 上,使用 QT Creator,使用 QMake 的项目和允许的最小 QT 版本是 5.9
我正在使用 Desktop QT 5.11.1 MSVC2017 64bit 在调试模式下进行编译。注意我无法在任何其他设置(MSVC2015,MinGW)中编译 - 我收到错误。如果我在发布模式下编译,我仍然会遇到同样的崩溃。
Desktop QT 5.11.1 MSVC2017 64bit 旁边确实有一个感叹号No debugger setup
以下 QML 有效:
import QtQuick 2.11
import QtQuick.Window 2.11
Window
visible: true
width: 640
height: 480
title: qsTr("Hello World")
这会导致它崩溃:
import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Controls 2.3
import QtQuick.Layouts 1.3
ApplicationWindow
visible: true
width: 640
height: 480
title: qsTr("Hello World")
menuBar: MenuBar
Menu
title: 'File'
header: ToolBar
RowLayout
TextArea
id: area
anchors.fill: parent
【问题讨论】:
出于好奇,设置QT_OPENGL=angle
有帮助吗?此外,您需要获得回溯。我不确定打包的 Qt 是如何做到的……如果它没有附带调试符号,你需要自己构建 Qt。
我遇到了和你一样的问题(连我的环境都和你一样),你解决了吗?但是,我之前在相同的环境下没有问题,直到我通过离线包重新安装了QT。对了,QT 5.11.2 MSVC2017 64bit,同落。
我发现那是因为安装了Qt Virtual Keyboard,然后创建一个Qt Quick项目并选中'Use Qt Virtual Keyboard'。运行然后崩溃。我不知道为什么,我是QML新手,可能一系列操作改变环境。
@Mitch 打电话,需要你的帮助。我做了一些尝试,这是必须的。
【参考方案1】:
我也遇到了这个崩溃,窗口上只有一个矩形。
对我来说,通过在实例化我的 QGuiApplication 之前添加以下行来修复崩溃:
QCoreApplication::setAttribute(Qt::AA_UseOpenGLES);
从文档中,在 windows 上,这告诉 qt 使用角度。 Angle是将opengl翻译成directx的驱动程序
您可以阅读更多关于不同驱动程序选项的信息 http://doc.qt.io/qt-5/windows-requirements.html
【讨论】:
我们可以认为这是 Qt 的错误吗?以上是关于3 秒后所有 QT Quick Application 崩溃的主要内容,如果未能解决你的问题,请参考以下文章
QT5.3.1 Quick 开发 --- 项目类型的选择(转)