Object::connect: No such slot (QT槽丢失问题)
生活随笔
收集整理的這篇文章主要介紹了
Object::connect: No such slot (QT槽丢失问题)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、看看你的類聲明中有沒有Q_OBJECT,并繼承public QMainWindow{
??? 例如:???????
class CPlot: public QMainWindow{Q_OBJECT2、你聲明的函數(shù)要加聲明:
?? ?? private?slots:
???????? void?xxxx();
?并且要把上面一段函數(shù)添加到構(gòu)造函數(shù)的下面,被構(gòu)造函數(shù)直接訪問:
public:CPlot(QWidget *parent = 0);private slots:void openFile();void segmentObj();void capture();void drawRays();3、檢查槽函數(shù)名拼寫是否有誤,以及對應(yīng)的signal和slot的參數(shù)是否一致
?????? 如果還不行的話,清理項(xiàng)目,刪掉原有的moc_xxx.cpp,重新執(zhí)行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); }創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)
總結(jié)
以上是生活随笔為你收集整理的Object::connect: No such slot (QT槽丢失问题)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为云发布自动驾驶开发平台,内置盘古大模
- 下一篇: ubuntu 16.04 安装QT问题