• 4453阅读
  • 1回复

求解,使用RubberBandDrag,改变选择状态 [复制链接]

上一主题 下一主题
离线hnwdx
 

只看楼主 倒序阅读 楼主  发表于: 2011-07-19
如题,当使用RubberBandDrag时,选中元素时,自动带个虚框,如何改变这个虚框的显示方式啊?譬如加上可改变大小的标尺等?
离线hnwdx

只看该作者 1楼 发表于: 2011-07-20
自己回复,看QT代码了,只能自己重绘,无法。
// 重绘
void GraphicsItemGroup::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
    if (!isSelected())
    {
        return;
    }
    const QColor fgcolor = QColor(Qt::black);
    const QColor bgcolor = QColor(Qt::green);
    const qreal pad = 0.5;

    painter->setPen(QPen(bgcolor, 0, Qt::SolidLine));
    painter->setBrush(Qt::NoBrush);
    painter->drawRect(boundingRect().adjusted(pad, pad, -pad, -pad));

    painter->setPen(QPen(fgcolor, 0, Qt::DashLine));
    painter->setBrush(Qt::NoBrush);
    painter->drawRect(boundingRect().adjusted(pad, pad, -pad, -pad));
}

搞定
快速回复
限100 字节
 
上一个 下一个