add slider example for vertical slider
This commit is contained in:
parent
c8d3d56a96
commit
dcef5d8ba5
|
@ -1,10 +1,43 @@
|
|||
#include <QPainter>
|
||||
#include "slider.h"
|
||||
|
||||
Slider::Slider(QWidget *parent)
|
||||
Handle::Handle(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
}
|
||||
|
||||
Handle::~Handle()
|
||||
{
|
||||
}
|
||||
|
||||
void Handle::paintEvent(QPaintEvent *event)
|
||||
{
|
||||
QPainter painter(this);
|
||||
QPen pen;
|
||||
pen.setColor(Qt::black);
|
||||
pen.setWidth(1);
|
||||
painter.setPen(pen);
|
||||
painter.drawRect(rect().adjusted(0, 0, -1, -1));
|
||||
|
||||
QWidget::paintEvent(event);
|
||||
}
|
||||
|
||||
Slider::Slider(QWidget *parent)
|
||||
: QWidget(parent),
|
||||
_handle(new Handle(this))
|
||||
{
|
||||
_handle->setGeometry(10, 10, 30, 30);
|
||||
}
|
||||
|
||||
Slider::~Slider()
|
||||
{
|
||||
}
|
||||
|
||||
void Slider::paintEvent(QPaintEvent *event)
|
||||
{
|
||||
QPainter painter(this);
|
||||
|
||||
painter.drawRect(rect().adjusted(0, 0, -1, -1));
|
||||
|
||||
QWidget::paintEvent(event);
|
||||
}
|
||||
|
|
|
@ -3,6 +3,18 @@
|
|||
|
||||
#include <QWidget>
|
||||
|
||||
class Handle : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit Handle(QWidget *parent = 0);
|
||||
~Handle();
|
||||
|
||||
protected:
|
||||
void paintEvent(QPaintEvent *event);
|
||||
};
|
||||
|
||||
class Slider : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
@ -10,6 +22,12 @@ class Slider : public QWidget
|
|||
public:
|
||||
explicit Slider(QWidget *parent = 0);
|
||||
~Slider();
|
||||
|
||||
protected:
|
||||
void paintEvent(QPaintEvent *event);
|
||||
|
||||
private:
|
||||
Handle *const _handle;
|
||||
};
|
||||
|
||||
#endif // SLIDER_H
|
||||
|
|
|
@ -28,6 +28,25 @@ SliderExamples::SliderExamples(QWidget *parent)
|
|||
|
||||
mainLayout->addWidget(frame);
|
||||
}
|
||||
{
|
||||
QWidget *widget = new QWidget;
|
||||
QVBoxLayout *layout = new QVBoxLayout;
|
||||
|
||||
widget->setLayout(layout);
|
||||
|
||||
Slider *slider = new Slider;
|
||||
|
||||
ExampleView *view = new ExampleView;
|
||||
view->setWidget(slider);
|
||||
|
||||
Frame *frame = new Frame;
|
||||
frame->setCodeSnippet(
|
||||
"---"
|
||||
);
|
||||
frame->setWidget(view);
|
||||
|
||||
mainLayout->addWidget(frame);
|
||||
}
|
||||
}
|
||||
|
||||
SliderExamples::~SliderExamples()
|
||||
|
|
Loading…
Reference in New Issue