我有一个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
我需要在这里做什么?