0

タイプQUndoStackの属性を持つクラスHistorymanagerがあります。返されるゲッターで undoStack を取得できます

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() を逆参照しますが、コンパイル エラーが発生します。

qudostack.h が確実に提供しているにもかかわらず、Qt は信号 canRedoChanged がないことを伝え続けています。connect メソッドでは、最初の引数が

 const QObject *sender

ここで何をする必要がありますか?

4

0 に答える 0