QObject :: connect:没有这样的信号错误,C ++

问题描述 投票:0回答:1

我陷入了错误,我不知道我要去哪里错了,我也尝试使用qapp运行信号,只是为了确保它不是信号,这一切都很好。我在头文件中将SLOT声明为公共插槽。

这是我的连接:

  connect(this, SIGNAL(editPolygon(QVector <QPointF> &, QPolygonF &)), parent, SLOT(editPolygon(QVector <QPointF> points, CustomPolygon *poly)));

这是我发出信号的插槽:

void CustomPolygon::editPolygons()
{
    QVector<QPointF> points;
    QPolygonF poly = mapToScene(polygon());

    emit editPolygon(points,poly);
}

这是mainwindow.cpp中的空白:

void MainWindow::editPolygon(QVector<QPointF> &points, CustomPolygon *poly)
{
}

感谢您的提前帮助!

c++ qt signals slot
1个回答
0
投票

[first我要做的是很难看清信号/插槽匹配的第二个参数的差异。

一个是QPolygon&,另一个是CustomPolygon*。我的理解是,这些必须匹配。即使一个是另一个的适当子类,我也不认为您可以混合使用引用和指针。

© www.soinside.com 2019 - 2024. All rights reserved.