用Qt进行信号与信号槽连接后,会出现信号槽不响应信号的情况,原因可能是以下的情况:
1、类没有声明Q_OBJECT;
2、信号槽没有定义为pubic/private slots;
3、事件被子控件过滤掉了。比如QListWidget,当QListWidgetItem已经处理keypress事件后,QListWidget就不能响应itemDoubleClicked事件了。
4、信号槽的参数是自定义的,这时需要用qRegisterMetaType注册一下这种类型。具体操作可搜索 qRegisterMetaType的使用。