如何往graphicsView中添加新的控件

如何往graphicsView中添加新的控件,第1张

往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)

只要是 QWidget 的子类,都可以添加到 QGraphicsScene 中。

为了使加入 QGraphicsScene 中的 QWidget 支持自绘,比如实现圆角效果,我将对Widget进行封装。

在 QGraphicsScene 中,使用 addItem

在此基础上,就可以实现自己的控件了。我派生 GraphicsSceneAbstractWidget ,创建自己的widget。

然后实现这个类。

最后,把这个控件加入到 QGraphicsScene 中。

QGraphicsSimpleTextItem provides a simple text label item

QGraphicsTextItem provides an advanced text browser item

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


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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存