Qt信号/插槽中的'expression cannot be used as a function'
'expression cannot be used as a function' in qt-signals / slot
这是我在这里的第一个条目,我希望,我会提出一个格式良好、有用的问题。
我从一刻起就用qt编程,也成功地做了插槽和信号 - 同样奇怪的是,它已经工作了一段时间,但现在不再工作了 - 不知道为什么。
我已经对该错误进行了一些搜索,这似乎是同名变量和函数最常见的原因(在错误部分,它将尝试将 var 作为函数)。这也被检查过,但不应该是这种情况。
这是一个本身封闭的qwidget,我只是释放我的行:
http://pastebin.com/TXXY1cT4
所以问题出在设置小部件.cpp(粘贴上的向下):
connect(terminalCompleter, SIGNAL(textChanged()), this,SLOT(onNrOfLeds22()));
connect(this->nrOfLeds, SIGNAL(valueChanged(int)), this,SLOT(onNrOfLeds22()));
与我的其他连接器相比,它们似乎是正确的。一个特殊的东西是标题中的类ledSetting,但它只在此类中使用,这些连接器没有问题。
提前感谢您的任何帮助!
你的类有一个名为connect
的QPushButton*
,它隐藏了connect()
函数。
因此,表达式不用作函数,因为它不是函数!
重命名变量,或者如果不可能,可以显式调用QObject::connect()
以强制编译器使用基类版本的 connect()
。
此外,您可以使用(从Qt5开始)Qt的新连接语法,该语法允许编译器为您进行类型检查。它使用函数指针而不是SIGNAL()
和SLOT()
宏
QObject::connect( terminalCompleter, &QPlainTextEdit::textChanged, this, &settingWidget::onNrOfLeds22 );
相关文章:
- SFINAE:"enable_if cannot be used to disable this declaration"
- 如何理解"abstract-declarator containing an ellipsis shall only be used in a parameter-declaration"
- 解决方法:'can not be used when making a shared object; recompile with -fPIC'使用Cmake。使用普通的 g++ 工作
- "expression cannot be used as a function"回报声明
- 为什么这句话"The expression can be used only as the left-hand operand of a member function call"在 [expr.re
- 析构函数提供删除资源的"may be used uninitialized"
- " 'yc' can not be used as a function"错误C++
- Clang - 删除某些文件的"conversion function converting <A> to base class <B> will never be used"
- Qt信号/插槽中的'expression cannot be used as a function'
- 来自 MSDN 的 InternetGetConnectedState 和"it should not be used from a service"声明
- 一系列"cannot be used as a function"的 Dev++ 总和
- "unspecialized class template can't be used as a template argument"是什么意思?
- 禁用优化时没有"may be used uninitialized"
- 链接错误:"relocation R_X86_64_32 ... can not be used when making a shared object; recompile with -fPIC"
- 在窗口错误中使用QProcess启动进程:"Timers can only be used with threads started with QThread"
- 提升线程中出现错误"expression cannot be used as a function"?
- 如何解决"class must be used when declaring a friend"错误?
- "The input/output library <stdio.h> shall not be used."
- 为什么" 'static' may not be used when defining (as opposed to declaring) a static data member"?
- Can Dropbox Djinni be used with C++98