6 #include "percentslider.h"
9 static QString
format(int value
)
11 return QLocale::system().toString(value
) + UNIT_SPACE
+ QString("%");
14 PercentSlider::PercentSlider(QWidget
*parent
) : QWidget(parent
)
16 _slider
= new QSlider(Qt::Horizontal
);
17 _label
= new QLabel();
19 _slider
->setMinimum(0);
20 _slider
->setMaximum(100);
22 QFontMetrics
fm(_label
->font());
23 _label
->setFixedWidth(fm
.boundingRect(format(_slider
->maximum())).width());
24 _label
->setAlignment(Qt::AlignRight
);
26 connect(_slider
, SIGNAL(sliderMoved(int)), this, SLOT(updateLabel(int)));
28 QHBoxLayout
*layout
= new QHBoxLayout();
29 layout
->addWidget(_slider
);
30 layout
->addWidget(_label
);
35 void PercentSlider::updateLabel(int value
)
37 _label
->setText(format(value
));
40 int PercentSlider::value() const
42 return _slider
->value();
45 void PercentSlider::setValue(int value
)
47 _slider
->setValue(value
);
48 _label
->setText(format(value
));