Новый способ подключения сигналов и слотов - PullRequest
0 голосов
/ 30 августа 2018

У меня проблемы со следующей строкой кода:

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);

1 Ответ

0 голосов
/ 30 августа 2018

Я неправильно понял синтаксис, это правильный (нужен адрес функции):

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

Понятия не имею, почему это работает на платформе Windows.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...