0

我有一个Historymanager 类,它有一个QUndoStack 类型的属性。我可以使用返回的 getter 来获取 undoStack

QSharedPointer<QUndoStack>

现在在另一个 C 类中,我可以访问历史管理器,并且需要将信号 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,尽管 quundostack.h 确实提供了它。connect 方法要求第一个参数是

 const QObject *sender

我需要在这里做什么?

4

0 回答 0