c++ - Connect: No such Slot QTreeView -


i have inherited class maintree qtreeview

maintree.cpp file

void  maintree::launchtree() { //tree launching  connect(this, signal(customcontextmenurequested(const qpoint& )),this,slot(showcustomcontextmenu(const qpoint&))); }  void maintree::showcustomcontextmenu(const qpoint &pos)   {   //add actions  } 

but following error

qobject::connect: no such slot qtreeview::showcustomcontextmenu(const qpoint&) 

i not understand why, missing ??

definition of class maintree

class maintree : public qtreeview {  public:     maintree();     maintree(qwidget *parent = 0);  public slots:  private slots:     void showcustomcontextmenu(const qpoint& pos);  private:      void launchtree();   }; 

you missing q_object macro out, try this:

class maintree : public qtreeview { q_object // ^^^^^ public:     maintree();     maintree(qwidget *parent = 0);  public slots:  private slots:     void showcustomcontextmenu(const qpoint& pos);  private:      void launchtree();   }; 

do not forget re-run qmake after regenerate moc files properly. make sure have moc include @ end of source code, or handle moc generation without that.

also, note if used qt 5.2 or later c++11 support, static assertion missing q_object macro, not runtime issues anymore. suggest follow if can.


Comments

Popular posts from this blog

c# - How to get the current UAC mode -

postgresql - Lazarus + Postgres: incomplete startup packet -

javascript - Ajax jqXHR.status==0 fix error -