Object::connect: No such slot (QT槽丢失问题)
生活随笔
收集整理的這篇文章主要介紹了
Object::connect: No such slot (QT槽丢失问题)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、看看你的類聲明中有沒有Q_OBJECT,并繼承public QMainWindow{
??? 例如:???????
class CPlot: public QMainWindow{Q_OBJECT2、你聲明的函數要加聲明:
?? ?? private?slots:
???????? void?xxxx();
?并且要把上面一段函數添加到構造函數的下面,被構造函數直接訪問:
public:CPlot(QWidget *parent = 0);private slots:void openFile();void segmentObj();void capture();void drawRays();3、檢查槽函數名拼寫是否有誤,以及對應的signal和slot的參數是否一致
?????? 如果還不行的話,清理項目,刪掉原有的moc_xxx.cpp,重新執行qmake.
或者自己修改一下:
????? 例如:添加槽:
???
static const char qt_meta_stringdata_OpenGLViewer[] = {"MainViewer\0\0openFile()\0segmentObj()\0""capture()\0" };void CPlot::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) {if (_c == QMetaObject::InvokeMetaMethod) {Q_ASSERT(staticMetaObject.cast(_o));CPlot *_t = static_cast<CPlot *>(_o);switch (_id) {case 0: _t->openFile(); break;case 1: _t->segmentObj(); break;case 2: _t->capture(); break;default: ;}}Q_UNUSED(_a); }創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
總結
以上是生活随笔為你收集整理的Object::connect: No such slot (QT槽丢失问题)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为云发布自动驾驶开发平台,内置盘古大模
- 下一篇: 美团app如何删除外卖评价