class TextItem(QGraphicsTextItem):
def __init__(self,text):
QGraphicsTextItem.__init__(self,text)
self.text=text
self.setFlag(QGraphicsItem.ItemIsMovable, True)
self.setFlag(QGraphicsItem.ItemIsSelectable, True)
self.setFlag(QGraphicsItem.ItemIsFocusable, True)
def paint(self,painter,option,widget):
self.pen = QPen()
self.pen.setWidth(2)
painter.setPen(self.pen)
painter.drawRect(self.boundingRect())
我可以画QGraphicsTextItem。但问题是......当我绘制它时,QGraphicsTextItem中的文本消失了。我怎么解决?
答案 0 :(得分:1)
通过覆盖父paint
类提供的QGraphicsTextItem
方法,您说您不会使用它绘制文本的方式。相反,你正在实现自己的文字绘画。但是你实际上并没有画任何文字,所以屏幕上没有文字。
如果您想自己控制所有绘画,那么您将需要添加至少类似的内容:
painter.drawText(self.boundingRect(),self.text)
或者你可以打电话
QGraphicsTextItem.paint(self,painter,option,widget)
在您自己的绘画结束时,取决于您正在寻找的效果。