add slider example with valueChanged signal

This commit is contained in:
laserpants 2016-04-04 01:38:55 +03:00
parent 6a0dafcd88
commit 43fe26ae24
2 changed files with 31 additions and 3 deletions

View File

@ -1,11 +1,13 @@
#include <QVBoxLayout> #include <QVBoxLayout>
#include <QLineEdit>
#include "sliderexamples.h" #include "sliderexamples.h"
#include "components/slider.h" #include "components/slider.h"
#include "exampleview.h" #include "exampleview.h"
#include "frame.h" #include "frame.h"
SliderExamples::SliderExamples(QWidget *parent) SliderExamples::SliderExamples(QWidget *parent)
: ExampleList(parent) : ExampleList(parent),
_edit(new QLineEdit)
{ {
QLayout *mainLayout = widget()->layout(); QLayout *mainLayout = widget()->layout();
@ -40,17 +42,30 @@ SliderExamples::SliderExamples(QWidget *parent)
mainLayout->addWidget(frame); mainLayout->addWidget(frame);
} }
{ {
QWidget *widget = new QWidget;
QHBoxLayout *layout = new QHBoxLayout;
widget->setLayout(layout);
Slider *slider = new Slider; Slider *slider = new Slider;
QLineEdit *edit = new QLineEdit;
layout->addWidget(slider);
layout->addWidget(edit);
layout->setStretch(0, 1);
layout->setStretch(1, 1);
ExampleView *view = new ExampleView; ExampleView *view = new ExampleView;
view->setWidget(slider); view->setWidget(widget);
Frame *frame = new Frame; Frame *frame = new Frame;
frame->setCodeSnippet( frame->setCodeSnippet(
"Slider *slider = new Slider;" "x"
); );
frame->setWidget(view); frame->setWidget(view);
connect(slider, SIGNAL(valueChanged(int)), this, SLOT(updateValue(int)));
mainLayout->addWidget(frame); mainLayout->addWidget(frame);
} }
} }
@ -58,3 +73,8 @@ SliderExamples::SliderExamples(QWidget *parent)
SliderExamples::~SliderExamples() SliderExamples::~SliderExamples()
{ {
} }
void SliderExamples::updateValue(int value)
{
_edit->setText(QString::number(value));
}

View File

@ -3,6 +3,8 @@
#include "examplelist.h" #include "examplelist.h"
class QLineEdit;
class SliderExamples : public ExampleList class SliderExamples : public ExampleList
{ {
Q_OBJECT Q_OBJECT
@ -10,6 +12,12 @@ class SliderExamples : public ExampleList
public: public:
explicit SliderExamples(QWidget *parent = 0); explicit SliderExamples(QWidget *parent = 0);
~SliderExamples(); ~SliderExamples();
protected slots:
void updateValue(int value);
private:
QLineEdit *const _edit;
}; };
#endif // SLIDEREXAMPLES_H #endif // SLIDEREXAMPLES_H