From 43fe26ae243b4628e8597712b1a6ab29ab5fedd0 Mon Sep 17 00:00:00 2001 From: laserpants Date: Mon, 4 Apr 2016 01:38:55 +0300 Subject: [PATCH] add slider example with valueChanged signal --- examples/sliderexamples.cpp | 26 +++++++++++++++++++++++--- examples/sliderexamples.h | 8 ++++++++ 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/examples/sliderexamples.cpp b/examples/sliderexamples.cpp index a096adf..bfaae8b 100644 --- a/examples/sliderexamples.cpp +++ b/examples/sliderexamples.cpp @@ -1,11 +1,13 @@ #include +#include #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)); +} diff --git a/examples/sliderexamples.h b/examples/sliderexamples.h index 61b408a..b67db6e 100644 --- a/examples/sliderexamples.h +++ b/examples/sliderexamples.h @@ -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