QRubberBand类提供了一个矩形或直线,可以指示选择或边界。常见的模式是结合鼠标事件来执行此操作。本文将使用框选QCheckBox控件,来演示QRubberBand是如何配合鼠标进行工作的。
一、RubberBand 框选效果图
二、RubberBand 代码
- rubberband.h
#ifndef RUBBERBAND_H
#define RUBBERBAND_H
#include <QRubberBand>
class QPaintEvent;
class RubberBand : public QRubberBand
{
Q_OBJECT
public:
explicit RubberBand(Shape s, QWidget * p = 0);
protected:
void paintEvent(QPaintEvent *event);
};
#endif // RUBBERBAND_H
- rubberband.cpp
#include "rubberband.h"
#include <QPainter>
#include <QPaintEvent>
RubberBand::RubberBand(QRubberBand::Shape s, QWidget *p) :
QRubberBa