将一个信号连接到多个插槽 Qt
connecting one signal to multiple slots qt
我正在尝试连接两个带有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;
};
这是我的插槽,它是另一个名为loginProcess的Signalton类。此类中的槽名(getUserData(QString& userData)
在登录检查器中.cpp我正在尝试将这些声明的信号与插槽连接getUserData(QString userData)
loginProcess *lp;
lp = loginProcess::instance();
这里我正在访问具有插槽的登录过程信号类的实例
这是我尝试连接这些信号和插槽的两种方式,但没有一种工作
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
抛出此错误
由于您的信号没有参数,因此您无法将其连接到具有参数的插槽。
而且在我看来,在第一种情况下,您应该尝试SLOT(getUserData(QString&))
,而在第二种情况下,只需&loginProcess::getUserData
没有任何括号。
相关文章:
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- 如何在qt中将信号和插槽与另一个对象连接 --解决了
- QT 插槽未在主线程上调用
- 通过插槽和信号在不同线程中的两个qt对象之间进行通信
- 控制带有信号/插槽的Qt QML滑动视图
- Qt 信号/插槽问题
- Qt信号和插槽如果从QRunnable或其他线程调用,则不起作用
- Qt插槽调用了两次
- C++Qt信号和插槽
- Qt moveToThread,带有参数的信号/插槽
- 当再次触发信号时,从Qt插槽执行的功能被第二次调用时会发生什么?
- 在Qt中执行完所有插槽后,如何释放对象
- 使用std::bind将Qt信号连接到插槽
- 在Qt中使用C++Lambda函数作为插槽是否有助于保持库的二进制兼容性?
- Qimage没有通过信号插槽QT
- 将一个信号连接到多个插槽 Qt
- 为什么我不能从基类插槽Qt调用虚函数
- 动态创建自定义小部件的新实例并连接信号和插槽(Qt)
- 将QML信号连接到c++ 11 lambda插槽(Qt 5)
- 发射信号和插槽 (Qt) 的信息和控制