QMetaObject::connectSlotsByName: No matching signal for on_pushButton_clicked()

来源:互联网 发布:天猫搜索软件 编辑:程序博客网 时间:2024/06/11 07:33

因为不想总写connect,所以用了QMetaObject::connectSlotsByName的方式,但是报错。
参考 2.3信号和槽(中)
后来发现,原因是使用这种方式,必须满足几个条件:
1.假设Widget对象widget和QPushButton对象pushButton,他们必须是对象间的父子关系,即

pushButton->setParent(widget);

2.pushButton必须设置对象名

pushButton->setObjectName("pushButton");

3.在Widget头文件中必须使用slots宏

private slots:    void on_pushButton_clicked();
阅读全文
0 0
原创粉丝点击