连接信号和槽的新方法

问题描述 投票:0回答:1

我有以下的代码行的问题:

connect(m_uaProxy, CUaProxy::uaItemChanged,this, CUaHandler::onUaMsgReceived);

我使用Qt 5.11.1。在Windows上编译和作品,但产生了下面的“问题”:

错误:调用非静态成员函数没有对象参数

在Linux上运行相同的代码是不可能的,因为这个确切的行终止编译。我想我使用新的信号/插槽连接方法正确运行的代码。有什么能在这里的情况?

该方法定义如下:在连接创建类的信号:

void uaItemChanged(const MsgType msgt,
                   const QVariant& index,
                   const QVariant& value);

CUaProxy类的插槽:

void onUaMsgReceived(const CUaProxy::MsgType msgt,
                     const QVariant& index,
                     const QVariant& value);
c++ qt
1个回答
4
投票

我的语法错误,这是正确的(函数的地址是需要):

connect(m_uaProxy, &CUaProxy::uaItemChanged, this, &CUaHandler::onUaMsgReceived);

不知道为什么它的工作在Windows平台上。

© www.soinside.com 2019 - 2024. All rights reserved.