没有这样的插槽/信号(Qt) [英] No such Slot/Signals (Qt)

查看:116
本文介绍了没有这样的插槽/信号(Qt)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Object :: connect:没有这样的信号RollsRoyceTab :: signal_aValueChange(int aValue)
??????

Object::connect: No such signal RollsRoyceTab::signal_aValueChange(int aValue) ??????

我有

class RollsRoyceTab : public QWidget
 {
     Q_OBJECT
 public:
     RollsRoyceTab(QWidget *parent = 0);
 public slots:
     void aValueChange(int);
     void bValueChange(int);
     void cValueChange(int);
     void rrValuesHolder(int aValue, int bValue, int cValue);
signals:
     void signal_aValueChange(int aValue);
     void signal_bValueChange(int bValue);
     void signal_cValueChange(int cValue);
 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)
 {
     lcdAL->display(aValue);
     lcdAR->display(100 - aValue);

     emit signal_aValueChange(aValue);
 }

void RollsRoyceTab::rrValuesHolder(int aValue, int bValue, int cValue)
 {
     qDebug() << aValue;
     qDebug() << bValue;
     qDebug() << cValue;

 }

并连接(......此插槽(rrValuesHolder(int aValue,int bValue,int cValue)));;还是只需要写一个值SLOT(rrValuesHolder(int aValue))?

and connect(...... this,SLOT(rrValuesHolder(int aValue, int bValue, int cValue))); or need write only one value SLOT(rrValuesHolder(int aValue)) ?

推荐答案

首先:QObject :: connect中的信号和插槽()应该没有变量名。

First: signals and slots in QObject::connect() should be without variables names.

第二个:您不能用一个带有三个参数的SLOT连接带有一个参数的信号。 SIGNAL的自变量不得少于SLOT。

Second: You can't connect signal with one argument with SLOT with three arguments. SIGNAL must not have fewer arguments than the SLOT.

例如:

connect(this,SIGNAL(signal_aValueChange(int)),this,SLOT(rrValuesHolder(int)));

这只是解释。如果您发出带有一个参数的信号(例如QString),那么插槽将如何知道另外两个参数是什么?对我来说,这是合乎逻辑的。

And it's simply explanation for that. If you emit signal with one argument (for e.g. QString) how would slot know what are others two arguments? For me it's logical.

这篇关于没有这样的插槽/信号(Qt)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆