我有以下的代码行的问题:
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);
我的语法错误,这是正确的(函数的地址是需要):
connect(m_uaProxy, &CUaProxy::uaItemChanged, this, &CUaHandler::onUaMsgReceived);
不知道为什么它的工作在Windows平台上。