add slider example for vertical slider

This commit is contained in:
laserpants 2016-03-22 18:05:02 +03:00
parent c8d3d56a96
commit dcef5d8ba5
3 changed files with 71 additions and 1 deletions

View File

@ -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);
}

View File

@ -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

View File

@ -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()