背景:在qt项目中新建了一个类(不是qt设计师),所以没有继承qwidget。
在使用connect的时候显示“too many arguements”,而且在其他qt文件中格式正确。
在调查一番以后,发现这里的connect是使用winsock.h的函数,而正常的connect则是来源于qobject,
查看https://stackoverflow.com/questions/10316836/connect-function-from-winsock-in-a-qobject-inherited-class后,将新建立的类改为qobject类型。
直接新建qt设计师窗口类,将c,h文件中内容复制到对应位置。
这样就可以正常使用qobject中的connect了,直接包含这个头文件是无效的。如果想区分使用winsocket,则参考StackOverflow中的说明:
Try with ::connect (for the winsock connect) and this->connect or QObject::connect for Qt’s connect().