可能解决方案很简单,但在从对话框中删除ButtonBox后,我收到以下错误:
QMetaObject::connectSlotsByName: No matching signal for on_buttonBox_accepted()
对话框类中有一个带有该名称的插槽,我使用它。 我不知道为什么Qt认为应该有另一个信号连接到那个插槽。 (我检查了c ++和.ui xml文件)
答案 0 :(得分:2)
QMetaObject::connectSlotsByName
期待一个名为buttonBox
的对象带有accepted
信号,但正如您所说,您删除了此类对象。
当您使用void on_<object name>_<signal name>(<signal parameters>);
语法为插槽命名时,QMetaObject::connectSlotsByName
会尝试按名称将该插槽连接到信号。在QMetaObject::connectSlotsByName
文件中的某处调用ui_classname.h
。
要解决此问题,请将您的广告位重命名为其他内容,例如删除on_
部分。