当我申报时,我的班级信号
signal: void someSignal();
someSignal无法实现吗?如果我尝试写类似
的东西void someClass::someSignal()
{//something here
}
我收到链接错误。所以它在某个地方实现,据我所知它是由moc-compiler完成的。那么我是否可以通过某种方式编写信号的实现?
答案 0 :(得分:4)
QT文档说:
信号由moc自动生成,不得 在.cpp文件中实现
因此,没有办法实现信号。实际上,您只需要呼叫信号。 如果你想使用signal作为常用函数,只需声明并实现新函数:)
答案 1 :(得分:0)
不,你不需要这样做,你只需要声明信号并使用
发出它 emit someSignal(pram1,pram2);
答案 2 :(得分:0)
好的,但请记住,插槽必须与信号具有相同的参数,而不是返回(void),即:
发出someSignal(int pram1,int pram2)------ signal
void someSignal(int pram1,int pram2)------ slot
问候
答案 3 :(得分:0)
信号为您班级中的某个功能提供原型。
当您将信号连接到插槽时,emit someSignal()
的呼叫将呼叫与其连接的插槽。
所以不需要定义你的信号应该做什么,因为连接的插槽会这样做。
soo long zai