Qt Signal: разыменование QSharedPointer

У меня есть класс Historymanager, который имеет атрибут типа QUndoStack.
Я могу получить откат с геттером, который возвращает

QSharedPointer<QUndoStack>

Теперь в другом классе C у меня есть доступ к historymanager и мне нужно подключить сигнал canRedoChanged (bool) к методу из этого класса. Проблема заключается в следующем: как мне сообщить метод подключения отправителю?

Я старался:

        connect((historyManager->getQUndoStack().data()),
SIGNAL(canRedoChanged()), this, SLOT(onCanRedoChanged()));

но это не сработает. Я тоже пробовал

           connect(*(historyManager->getQUndoStack().data()),
SIGNAL(canRedoChanged()), this, SLOT(onCanRedoChanged()));

разыменовать historyManager-> getQUndoStack (). data (), поставив перед собой «*», но это приводит к ошибке компиляции.

Теперь Qt продолжает говорить мне, что нет сигнала canRedoChanged, хотя qundostack.h определенно его предоставляет.
Метод connect требует, чтобы первый аргумент был

 const QObject *sender

Что мне нужно сделать здесь?

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]