diff --git a/README.md b/README.md
index dd7ad82..8bcecfe 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,9 @@
# Qt-RangeSlider
Implement range slider in Qt
Here is the demo:
-![image](https://github.com/ThisIsClark/Qt-RangeSlider/blob/master/demo.gif)
+![image](https://github.com/hellowilman/Qt-RangeSlider/blob/master/demo.gif)
## How to use
1. Import RangeSlider.cpp & RangeSlider.h to your project.
2. Add a widget in Qt Designer.
3. Right click this widget to promote it to RangeSlider.
-4. Now you can use this RangeSlider in your code.
\ No newline at end of file
+4. Now you can use this RangeSlider in your code.
diff --git a/RangeSlider.cpp b/RangeSlider.cpp
index deb4128..849c32a 100644
--- a/RangeSlider.cpp
+++ b/RangeSlider.cpp
@@ -171,6 +171,7 @@ void RangeSlider::mouseMoveEvent(QMouseEvent* aEvent)
void RangeSlider::mouseReleaseEvent(QMouseEvent* aEvent)
{
Q_UNUSED(aEvent);
+ emit slidingFinished();
mFirstHandlePressed = false;
mSecondHandlePressed = false;
diff --git a/RangeSlider.h b/RangeSlider.h
index b8a54a7..f9ed88b 100644
--- a/RangeSlider.h
+++ b/RangeSlider.h
@@ -42,6 +42,7 @@ class RangeSlider : public QWidget
void lowerValueChanged(int aLowerValue);
void upperValueChanged(int aUpperValue);
void rangeChanged(int aMin, int aMax);
+ void slidingFinished();
public slots:
void setLowerValue(int aLowerValue);
diff --git a/demo.gif b/demo.gif
index 5592d16..3d911c7 100644
Binary files a/demo.gif and b/demo.gif differ
diff --git a/mainwindow.cpp b/mainwindow.cpp
index 49d64fc..b50d329 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -6,9 +6,46 @@ MainWindow::MainWindow(QWidget *parent) :
ui(new Ui::MainWindow)
{
ui->setupUi(this);
+
+ ui->widget->setMinimum(0);
+ ui->widget->setMaximum(999);
+
+ ui->label_1->setText(QString::number(0));
+ ui->label_2->setText(QString::number(999));
+ ui->label_3->setText("Current Value: " + QString::number(0) + "-" + QString::number(999));
+
+ connect(ui->widget,SIGNAL(lowerValueChanged(int)), this, SLOT(slog_RangeSlider_lower_changed(int)));
+ connect(ui->widget,SIGNAL(upperValueChanged(int)), this, SLOT(slog_RangeSlider_upper_changed(int)));
+ connect(ui->widget, SIGNAL(rangeChanged(int,int)), this, SLOT(slog_RangeSlider_changevalue(int,int)));
+ connect(ui->widget, SIGNAL(slidingFinished()), this, SLOT(slog_RangeSlider_slidingfinish()));
}
+
MainWindow::~MainWindow()
{
delete ui;
}
+
+void MainWindow::slog_RangeSlider_lower_changed(int value)
+{
+ ui->label_1->setText(QString::number(value));
+}
+
+void MainWindow::slog_RangeSlider_upper_changed(int value)
+{
+ ui->label_2->setText(QString::number(value));
+}
+
+void MainWindow::slog_RangeSlider_changevalue(int v1, int v2)
+{
+ ui->label_3->setText("Current Value: " + QString::number(v1) + "-" + QString::number(v2));
+
+}
+
+void MainWindow::slog_RangeSlider_slidingfinish()
+{
+ int v1 = ui->widget->GetLowerValue();
+ int v2 = ui->widget->GetUpperValue();
+
+ ui->label_3->setText("Current Value: " + QString::number(v1) + "-" + QString::number(v2));
+}
diff --git a/mainwindow.h b/mainwindow.h
index a3948a9..9aa87c3 100644
--- a/mainwindow.h
+++ b/mainwindow.h
@@ -14,6 +14,11 @@ class MainWindow : public QMainWindow
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
+public slots:
+ void slog_RangeSlider_lower_changed(int value);
+ void slog_RangeSlider_upper_changed(int value);
+ void slog_RangeSlider_changevalue(int v1,int v2);
+ void slog_RangeSlider_slidingfinish();
private:
Ui::MainWindow *ui;
diff --git a/mainwindow.ui b/mainwindow.ui
index 3d1d783..2aa7e98 100644
--- a/mainwindow.ui
+++ b/mainwindow.ui
@@ -11,19 +11,60 @@
- MainWindow
+ RangeSlider
-
-
-
- 40
- 70
- 311
- 80
-
-
-
+
+ -
+
+
+ -
+
+
+ false
+
+
+ background:rgb(206, 224, 240)
+
+
+
-
+
+
+ TextLabel
+
+
+
+ -
+
+
+ TextLabel
+
+
+
+
+
+
+ -
+
+
+ TextLabel
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+