21,489
社区成员
发帖
与我相关
我的任务
分享
void VPView::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
myTips->renderTips(&painter);
return QGraphicsView::paintEvent(event);
}
void VPTips::renderTips(QPainter* painter)
{
if ( !active() )
return;
const int Offset = 5;
QFont font("Times", 20, QFont::Normal);
QFontMetrics textMetric(font);
QRectF rect = textMetric.boundingRect( myText );
painter->translate( myPosition );
{
painter->setBrush( Qt::blue );
painter->drawRect( rect.adjusted(0, -Offset, 0, Offset ) );
painter->setBrush(Qt::gray);
painter->drawRect( rect );
painter->setFont( font );
painter->drawText(rect, Qt::AlignCenter, myText);
}painter->translate( -myPosition );
}