
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 itemQGraphicsTextItem provides an advanced text browser item
这两个(反正第二个肯定可以的,第一个应该只是简单的lable),生成实例设置flag为Qt::TextEditorInteraction添加到screen就好了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)