我在" tree.h":
中有信号声明...
signals:
void doubleClicked(const QModelIndex & index);
...
然后在构造函数中我连接:
connect(this, SIGNAL(doubleClicked(const QModelIndex&)), SLOT(sm(const QModelIndex&)));
没有任何作用,我得到运行时消息:
QMetaObject::indexOfSignal: signal doubleClicked(QModelIndex) from QTreeView redefined in Tree...
我试图解决它几个小时但是徒劳无功!
Thanx提前!!!
答案 0 :(得分:3)
您无法覆盖子类中的信号。也可以看看 How to process signals in a Qt subclass?。无论如何它都没有意义,因为信号是由父类中的某些代码发出的,所以如果你想对它做出反应,只需将父类的现有信号连接到你的插槽并删除子类中信号的声明。
Qt 4.6引入了您收到的错误消息,请参阅https://bugreports.qt-project.org/browse/QTBUG-17600以确保您不会意外覆盖子类中的信号。