我使用QGraphicsView
,QGrapichsScene
和QGraphicsItem
来绘制一些图表。我已经为绘制文本(图表的值)实现了QGraphicsItem::paint
函数,但是每次必须绘制新内容时都不会调用它。我的paint
功能
void CLabelItem::paint(QPainter *painter,
const QStyleOptionGraphicsItem* /*option*/, QWidget* /*widget = 0*/)
{
if ( GetValue() < 0 )
{
return;
}
painter->drawText(boundingRect(), m_value.toString());
}
所以我的问题是 - 为什么不能调用QGraphicsItem::paint
以及如何调用它?
答案 0 :(得分:2)
您需要从修改QGraphicsItem::update()
变量的函数中调用m_value
来触发重绘。
答案 1 :(得分:0)
通常,在调用paintEvent
时绘制Qt图形项,然后您可以在paint
函数内处理绘制。