Qt的橡皮筋类
时间: 2018-09-06来源:OSCHINA
前景提要
「深度学习福利」大神带你进阶工程师,立即查看>>> https://www.jianshu.com/p/5f20e2cd3ee0 #include "widget.h" Widget::Widget(QWidget *parent) : QWidget(parent) { this->setBackgroundRole(QPalette::Light); this->setAutoFillBackground(true); resize(400,360); setWindowTitle("Rubber"); rubberBand = NULL; } Widget::~Widget() { } // QPoint origin; void Widget::mousePressEvent(QMouseEvent *e) { origin = e->pos(); if(!rubberBand){ rubberBand = new QRubberBand(QRubberBand::Rectangle, this); } rubberBand->setGeometry(QRect(origin, QSize()));//设置了橡皮筋线的位置及大小 rubberBand->show(); } void Widget::mouseMoveEvent(QMouseEvent *e) { if(rubberBand) rubberBand->setGeometry(QRect(origin,e->pos()).normalized()); //normalized() 函数返回的也是一个QRect的对象,不过该对象的长和宽的值都是大于零时值 } void Widget::mouseReleaseEvent(QMouseEvent *e) { // if(rubberBand) // rubberBand->hide(); //当鼠标松开时,橡皮筋线就可以隐藏了 }

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行