Поиск использования сигналов в Qt Creator

В Qt Creator можно встать курсором на переменную или функцию, вызвать контекстное меню и выбрать «Найти использование».

Qt Creator найти использование

Тогда Qt Creator найдет все места, где используется эта переменная или функция.

Но это не работает на сигналах, которые подключаются по старому стилю, то есть с использование макроса SIGNAL().

connect(
    object1,
    SIGNAL(superSignal()),
    object2,
    SLOT(superSlot())
);

Qt Creator просто не будет ничего искать, если вы попробуете сделать это на функции, которая заключена в SIGNAL().

Кроме того, Qt Creator не найден подключения сигнала если вы попытаетесь поискать в блоке signals в классе.

class SuperClass
{
...
signals:
    superSignal();
}

В этому случае Qt Creator найдет только испускания сигнала (emit).

Решение есть — использовать современный способ подключения сигналов и слотов, без макросов SIGNAL() и SLOT().


connect(
    obj1,
    &SuperClass1::superSignal,
    obj2,
    &SuperClass2::superSlot
);

Данный синтаксис был введен в Qt 5.0 в 2012 году.

Официальное описание сигналов и слотов в Qt на английском.

Реклама

Автор

Дмитрий Бравиков

Инженер. Электронщик. Программист.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s