13        this->setRange(1, 1000);
 
   20        this->setTickInterval(50);
 
   22        this->setOrientation(Qt::Horizontal);
 
   23        this->setMinimumWidth(180);
 
   24        this->setTickPosition(QSlider::TicksAbove);
 
 
  103        QSlider::paintEvent(ev);
 
  104        auto painter = 
new QPainter(
this);
 
  105        painter->setPen(QPen(QColor(123,123,123),2));
 
  107        auto rect = this->geometry();
 
  109        int numTicks = std::max((
maximum() - 
minimum()) / tickInterval(), 1);
 
  111        QFontMetrics fontMetrics = QFontMetrics(this->font());
 
  115            int fontHeight = fontMetrics.height();
 
  117            for (
int i = 0; i <= numTicks; i++) {
 
  119                int tickNum = 
minimum() + (tickInterval() * i);
 
  121                auto tickX = (((rect.width() - 10.0f) / (
maximum() - 
minimum()))* tickInterval() * i) - (fontMetrics.horizontalAdvance(QString::number(tickNum)) / 2);
 
  123                auto tickY = (rect.height() + fontHeight) / 2;
 
  125                auto tickMarkX = (((rect.width() - 10.0f) / (
maximum() - 
minimum())) * tickInterval() * i);
 
  127                painter->drawText(QPoint(tickX + 19, tickY - 7), QString::number(tickNum));
 
  128                painter->drawLine(QPoint(tickMarkX + 6, rect.height() - 12), QPoint(tickMarkX + 6, rect.height()));
 
 
  157        QFontMetrics fontMetrics = QFontMetrics(this->font());
 
  158        int labelWidth = fontMetrics.horizontalAdvance(QString::number(this->value()))+fontMetrics.horizontalAdvance(
"0");                
 
  165        m_displayLabel->setStyleSheet(
"QLabel{background:#2b2b2b;color:#ffffff;}");                      
 
  168        QSlider::mouseMoveEvent(event);