gpt4 book ai didi

c++ - 当 C++ SLOT 函数尝试与它从 QML 获得的输入交互时崩溃

转载 作者:行者123 更新时间:2023-11-28 04:29:19 24 4
gpt4 key购买 nike

我有这样的事情导致我的程序崩溃

void BackEnd::updateChart(QtCharts::QChartView *view)
{
QList<QObject*> children = view->children();
}

在 QML 方面:

backend.updateChart(chartView);

其中“backend”是 QT 对象“BackEnd”的实例,“chartView”是 QML 类型“ChartView”的实例

我尝试在我的 BackEnd 构造函数上运行以下命令,但这没有帮助

qRegisterMetaType<QtCharts::QChartView*>();

最佳答案

ChartView 不是 QChartViewChartViewDeclarativeChart这是处理与 QChartView 相同数据的私有(private) api 的 QQuickItem,但它不是 QChartView。所以解决办法就是把QtCharts::QChartView改成QQuickItem或者QObject

void BackEnd::updateChart(QQuickItem /*or QObject*/ *view)
{
QList<QObject*> children = view->children();
}

如果您使用 qDebug() 打印 View ,您会得到:

QtCharts::DeclarativeChart(0xfoo_address, parent=0x0, geometry=0,0 400x300)

关于c++ - 当 C++ SLOT 函数尝试与它从 QML 获得的输入交互时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53341271/

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