qt中如何在QGraphicsScene中添加Edit控件?

qt中如何在QGraphicsScene中添加Edit控件?,第1张

QGraphicsSimpleTextItem provides a simple text label item

QGraphicsTextItem provides an advanced text browser item

这两个(反正第二个肯定可以的,第一个应该只是简单的lable),生成实例设置flag为Qt::TextEditorInteraction添加到screen就好了。

往graphicsView中添加QImage

view是一个视口,是不能绘画的,需要通过绑定scene并且在scene上绘画才行。

如下:

QGraphicsScene* scene = new QGraphicsScene

QGraphicsView* view = new QGraphicsView

view->setScene(scene)

view->setSceneRect(QRect(x, y, width, height))

setCentralWidget(view)

重载QGraphicsScene下面的几个事件

鼠标移动事件

virtual void mouseMoveEvent ( QGraphicsSceneMouseEvent * mouseEvent )

鼠标点击事件

virtual void mousePressEvent ( QGraphicsSceneMouseEvent * mouseEvent )

鼠标释放事件

virtual void mouseReleaseEvent ( QGraphicsSceneMouseEvent * mouseEvent )

在鼠标点击事件中调用items()或者itemAt()函数来获取当前点击位置的控件

然后在鼠标移动事件中进行控件的移动 *** 作

最后在鼠标释放事件中进行控件位置还原,或者其他什么 *** 作。

基本上就这样,


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11417469.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存