qt 如何给图元安装一个场景事件过滤器? 您所在的位置:网站首页 小米手机miui12hd怎么关闭 qt 如何给图元安装一个场景事件过滤器?

qt 如何给图元安装一个场景事件过滤器?

#qt 如何给图元安装一个场景事件过滤器?| 来源: 网络整理| 查看: 265

void QGraphicsItem::installSceneEventFilter(QGraphicsItem *filterItem)

class LabCrossEvent : public QGraphicsObject { Q_OBJECT public: LabCrossEvent() {} virtual ~LabCrossEvent() {} virtual QRectF boundingRect() const { return QRectF(); } virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = Q_NULLPTR) { } signals: void hover(); public slots: protected: bool LabCrossEvent::sceneEventFilter(QGraphicsItem * watched, QEvent * event) { qDebug() type() == QEvent::GraphicsSceneMove) { emit hover(); // signal that the item was moved } //return sceneEventFilter(watched,event); return false; // pass the event to the original target item } }; QGraphicsItem* dL_Item = this->addRect(-22,-std::abs(high_dL),44,height_dL,QPen(QColor("#239B56"))); //安装的过场景事件滤器必须添加到场景中,否则事件过滤器无效 this->addItem(&_labCrossEvent); //为矩形图元安装一个场景事件过滤器 dL_Item->installSceneEventFilter(&_labCrossEvent);


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有