没有这样的插槽/信号(Qt)
No such Slot/Signals (Qt)
对象::connect:没有这样的信号RollsRoyceTab::signal_ValueChange(int aValue(
在以下类别中:
class RollsRoyceTab : public QWidget
{
Q_OBJECT
public:
RollsRoyceTab(QWidget *parent = 0);
public slots:
void aValueChange(int);
void rrValuesHolder(int aValue, int bValue, int cValue);
signals:
void signal_aValueChange(int aValue);
private:
int aValue, bValue, cValue;
};
连接的地方,比如:
connect(this,SIGNAL(signal_aValueChange(int aValue)),
this,SLOT(rrValuesHolder(int aValue, int bValue, int cValue)));
以下是实际实现:
void RollsRoyceTab::aValueChange(int aValue)
{
...
emit signal_aValueChange(aValue);
}
void RollsRoyceTab::rrValuesHolder(int aValue, int bValue, int cValue)
{
qDebug() << aValue;
}
写连接的流行方式是什么connect(... this,SLOT(rrValuesHolder(int aValue, int bValue, int cValue)));
或者只需要写入一个值CCD_ 2?
第一:QObject::connect((中的信号和插槽应该没有变量名。
第二:不能将一个参数的信号与三个参数的SLOT连接起来。SIGNAL的参数不能少于SLOT。
它应该用于例如:
connect(this,SIGNAL(signal_aValueChange(int)),this,SLOT(rrValuesHolder(int)));
这只是对此的简单解释。如果你用一个参数发出信号(例如QString(,slot怎么知道其他两个参数是什么?对我来说,这是合乎逻辑的。
"SIGNAL((宏的参数不能少于传递到SLOT((宏中的签名。
所有这些都会起作用:
connect(sender, SIGNAL(destroyed(QObject*)), this, SLOT(objectDestroyed(Qbject*)));
connect(sender, SIGNAL(destroyed(QObject*)), this, SLOT(objectDestroyed()));
connect(sender, SIGNAL(destroyed()), this, SLOT(objectDestroyed()));
这不起作用:
connect(sender, SIGNAL(destroyed()), this, SLOT(objectDestroyed(QObject*)));
我认为你应该打电话给value SLOT(rrValuesHolder(int))
参考:http://qt-project.org/doc/qt-4.8/signalsandslots.html
编辑:Blood包含了一条我忽略的额外信息,信号和插槽应该在没有变量名的情况下连接!
相关文章:
- Qt VTK交互风格的信号到小部件
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- 如何在qt中将信号和插槽与另一个对象连接 --解决了
- Qt将信号与另一个类方法连接
- 通过插槽和信号在不同线程中的两个qt对象之间进行通信
- 控制带有信号/插槽的Qt QML滑动视图
- Qt 信号/插槽问题
- Qt信号和插槽如果从QRunnable或其他线程调用,则不起作用
- Qt:如何通知对象已建立涉及它的信号槽连接
- Qt/C++ 系统单元启动/停止时的信号
- C++Qt信号和插槽
- Qt moveToThread,带有参数的信号/插槽
- 如何在Qt测试框架中对信号进行基准测试?
- Qt - Q_PROPERTY的通知信号未发出有关成员更改的通知信号
- 当再次触发信号时,从Qt插槽执行的功能被第二次调用时会发生什么?
- 使用std::move将std::unique_ptr作为qt信号参数传递
- 使用std::bind将Qt信号连接到插槽
- Qt:向死/停止线程发送信号
- 呼叫函数直接与发射信号(QT-信号和插槽)
- 没有这样的插槽/信号(Qt)