gpt4 book ai didi

qt - 程序意外完成-应用程序崩溃

转载 作者:行者123 更新时间:2023-12-04 12:41:46 31 4
gpt4 key购买 nike

我在QML建模中的Qt图表有问题。我有一个实现非常简单的ChartView的简单应用程序。运行应用程序时,它崩溃了,并且在应用程序输出The program has unexpectedly finished中收到错误。

我在我的src.pro中添加了

QT += qml quickcontrols2 charts


我的申请是这样

import QtCharts 2.2

ApplicationWindow {
visible: true
width: 640
height: 480
title: qsTr("Hello World")

ChartView {
anchors.fill: parent
theme: ChartView.ChartThemeBrownSand
antialiasing: true

PieSeries {
id: pieSeries
PieSlice { label: "eaten"; value: 94.9 }
PieSlice { label: "not yet eaten"; value: 5.1 }
}
}
}


我怎么会有这个问题?

最佳答案

检查您是否在main.cpp中使用的是QGuiApplication而不是QApplication

以下示例可以正常工作,但是如果我们在QGuiApplication中使用main()则会崩溃:


注意:从Qt Creator 3.0开始,默认情况下,基于Qt Quick 2模板使用Qt Quick Application向导创建的项目使用QGuiApplication。由于Qt Charts利用Qt Graphics View Framework进行绘图,因此必须使用QApplication。将QGuiApplication替换为QApplication后,使用向导创建的项目可用于Qt Charts。


更多信息here

main.cpp

#include <QApplication>
#include <QQuickView>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);

QQuickView *view = new QQuickView;
view->setSource(QUrl(QLatin1String("qrc:/main.qml")));
view->show();

return app.exec();
}


main.qml

import QtQuick.Controls 2.0
import QtQml 2.2
import QtCharts 2.0

ApplicationWindow {
visible: true
width: 640
height: 480
title: qsTr("Hello World")

ChartView {
anchors.fill: parent
theme: ChartView.ChartThemeBrownSand
antialiasing: true

PieSeries {
id: pieSeries
PieSlice { label: "eaten"; value: 94.9 }
PieSlice { label: "not yet eaten"; value: 5.1 }
}
}
}

关于qt - 程序意外完成-应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43919437/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com