'QMetaObject :: connectSlotsByName:在Ubuntu QT上构建时出现'错误的匹配信号'

hol*_*son 0 c++ ubuntu qt

我之前已经问过这个问题,虽然我的情况略有不同,但我发现其他答案都没有用,我是QTCreator的新手.

我正在尝试使用QTCreator构建一个项目,它在OSX上构建得很好,但是当用Ubuntu构建它时我得到了这个错误:

QMetaObject::connectSlotsByName: No matching signal for on_actionWrite_Device_triggered()
Run Code Online (Sandbox Code Playgroud)

该项目仍然构建并部分工作,但不会写入外部设备(程序的重点).

任何人都可以对我需要做的事情进行演练,之前的答案已经说明了如何明确地连接事物,但没有详细说明如何做到这一点.有关搜索项目以找到修复位置的任何提示(我没有编写原始程序).

汤姆,感谢任何帮助

a_g*_*est 14

看看这个:http: //qt-project.org/doc/qt-4.8/qmetaobject.html#connectSlotsByName

方法connectSlotsByName尝试使用以下格式将插槽连接到信号:

void on_<object name>_<signal name>(<signal parameters>);
Run Code Online (Sandbox Code Playgroud)

对象名称和信号名称由下划线分隔.我不确定但是对象名称本身(actionWrite_Device)包含下划线可能是一个问题,因此不清楚信号名称是什么(它可以是device_triggered或者triggered).对象名称也是如此.这种模糊可能会导致麻烦.