这是我第一次进入这里,我希望,我会提出一个结构良好,有用的问题。
我现在用qt编程,并且也成功地插槽和信号 - 同样奇怪的是,它已经工作了一会儿,但不再是 - 不知道为什么。
我已经对该错误进行了一些搜索,而且似乎最常见的原因是变量和函数具有相同的名称(并且在错误部分它会尝试将var作为函数)。这也是检查过但不应该是这种情况。
它是一个本身封闭的qwidget,我只是释放我的台词:
所以问题是setswidget.cpp中的行(粘贴上的downer):
connect(terminalCompleter, SIGNAL(textChanged()), this,SLOT(onNrOfLeds22()));
connect(this->nrOfLeds, SIGNAL(valueChanged(int)), this,SLOT(onNrOfLeds22()));
与其他连接器相比,它们似乎是正确的。一个特殊的东西是标题中的ledsetting类,但它只在这个类中使用,这些连接器没有问题。
提前感谢您的帮助!
答案 0 :(得分:1)
您的班级有一个名为QPushButton*
的{{1}}隐藏connect
功能。
因此表达式不被用作函数,因为它不是函数!
重命名变量,或者如果不可能,可以明确地调用connect()
来强制编译器使用基类'版本QObject::connect()
。
此外,您可以使用(从Qt5开始)Qt的新连接语法,它允许编译器为您进行类型检查。它使用函数指针而不是connect()
和SIGNAL()
宏
SLOT()