私はcode I foundを変更しようとしているが、私は私の目的の理解の欠如、重要性、および/またはこの仮想オペレータの関連性によってブロックされています:誰かが、なぜこのオペレータに洞察を提供することができここで仮想演算子()()の目的は何ですか?
-
必要か有用か?
- パラメータとして
parentItem()
,rect_
、およびresizer_
が必要と思ったら、resizer_
の値を変更しますか?
コンストラクタ.Hで:の.cppで
virtual void operator()(QGraphicsItem* item, const QRectF& rect) = 0;
コール:
(*resizer_)(parentItem(), rect_);
参照のコンストラクタのためのトリミングコンテキスト:
class SizeGripItem : public QGraphicsItem
{
private:
class HandleItem : public QGraphicsRectItem
{
public:
HandleItem(int positionFlags, SizeGripItem* parent);
private:
SizeGripItem* parent_;
};
public:
class Resizer
{
public:
virtual void operator()(QGraphicsItem* item,
const QRectF& rect) = 0;
};
SizeGripItem(Resizer* resizer = 0, QGraphicsItem* parent = 0);
virtual ~SizeGripItem();
private:
void doResize();
QRectF rect_;
Resizer* resizer_;
};
はfunctionオブジェクトのようです。 – Naidu
'Resizer'は、' sizeGripItem'のクライアントが( 'doResize()'を呼び出す) 'set_x_'メンバ関数のどれかが' rect_'メンバにアクセスできるようにコールバックを持つ方法ですと呼ばれる。 – quamrana