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

View File

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