Qt二维绘图之改变Item的选中时的边框
时间: 2018-09-07来源:OSCHINA
前景提要
「深度学习福利」大神带你进阶工程师,立即查看>>> void RectItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { QStyleOptionGraphicsItem op; op.initFrom(widget); // // 判断选中时,设置状态为 State_None if (option->state & QStyle::State_Selected){ qreal itemPenWidth = 10; const qreal pad = itemPenWidth / 2; const qreal penWidth = 0; // 边框区域颜色 QColor color = QColor(Qt::red); //绘制实现 painter->setPen(QPen(color, penWidth, Qt::SolidLine)); painter->setBrush(Qt::NoBrush); painter->drawRect(boundingRect().adjusted(pad, pad, -pad, -pad)); // 绘制虚线 painter->setPen(QPen(color, 0, Qt::DashLine)); painter->setBrush(Qt::NoBrush); painter->drawRect(boundingRect().adjusted(pad, pad, -pad, -pad)); qDebug() << "选中"; }else{ } //绘制图标,必须小于边框矩形 painter->setRenderHint( QPainter::Antialiasing ); painter->drawRect(m_x, m_y, m_w, m_h); }

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行