connect问题

使用connect函数时,报了:E:\QT\5.14.0\msvc2017_64\include\QtCore\qobject.h:264: error: C2664: “QMetaObject::Connection QObject::connectImpl(const QObject *,void **,const QObject *,void **,QtPrivate::QSlotObjectBase *,Qt::ConnectionType,const int *,const QMetaObject *)”: 无法将参数 3 从“const Settings *”转换为“const QObject *”。这个错误。
这是什么原因?
8
收起
正在回答
1回答
首先确保你的Setting类继承于QObject类,class Settings : public QObject
然后可以使用类型转换如下:
connect(sender, SIGNAL(signal()), static_cast<QObject*>(settings), SLOT(slot()));
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星