首页 文章

将一个信号连接到多个插槽qt

提问于
浏览
0

我试图用on信号连接两个插槽 . 这是我的头文件,我已经定义了我的信号

class loginChecker : public QObject
{
Q_OBJECT

public:
static loginChecker *instance(void);
signals:
void loginid();
void loginemail();

 private:
loginChecker(void) {}
~loginChecker(void) {}

 private:
static loginChecker *s_instance;

};

这是sigalton类 . 这是我的插槽,这是另一个信号类,在此类中命名为loginProcess的插槽名称 getUserData(QString& userData)

在loginChecker.cpp中我试图将这些声明的信号与 getUserData(QString userData) slot连接起来

loginProcess *lp;
   lp = loginProcess::instance();

这里我正在访问具有插槽的loginProcess signalton类的实例

这是我尝试连接这些信号和插槽的两种方法,但没有一种方法正常工作

QObject::connect(s_instance, SIGNAL(loginid()), es, SLOT(getUserData(userid)));

这在运行时没有抛出这样的插槽错误

`QObject::connect(s_instance, &esCoreAuthenticator::loginid, es, &loginProcess::getUserData(uid));`

这是在编译时遇到此错误 cannot call member function 'void loginProcess::getUserData(const QString&)' without object

1 回答

  • 0

    由于您的信号没有参数,因此您无法将其连接到具有某些参数的插槽 .

    而且在我看来,在第一种情况下你应该尝试 SLOT(getUserData(QString&)) ,在第二种情况下只需 &loginProcess::getUserData 没有任何括号 .

相关问题