2015-05-26 2 views

ответ

3

Если вы хотите изменить интервалы метки, вы можете использовать QSlider:setTickInterval().

Из документации:

tickInterval: INT

Это свойство содержит интервал между отметки времени.

Это интервал значений, а не интервал пикселей. Если он равен 0, ползунок будет выбирать между singleStep() и pageStep(). Значение по умолчанию равно 0.

Если вы хотите метки на нерегулярные промежутки времени, вы будете нуждаться, чтобы переопределить paint() (see example).

Это некоторый непроверенный пример код:

void MyWidget::paintEvent(QPaintEvent *) 
{ 
    QSlider::paint(); // Paints the slider like normal 

    // Add your custom tick locations 
    QPainter painter(this); 
    painter.setRenderHint(QPainter::Antialiasing); 
    painter.setPen(Qt::darkGreen); 
    painter.drawRect(1, 2, 6, 4);  

    painter.setPen(Qt::darkGray); 
    painter.drawLine(2, 8, 6, 2); 
} 

Это, вероятно, содержит несколько ошибок, но она должна иллюстрировать идею красиво. Вы также можете увидеть this question. Удачи!

+0

Большое спасибо, это очень помогло – user3420412