Попробуйте установить tickInterval
EDIT
Извините за tickInterval, не совсем thinked об этом, однако у меня есть этот рабочий код, и он делает то, что вы хотите использовать setSingleStep
import sys
from PyQt4.QtGui import QApplication, QSlider, QMainWindow
class Window(QMainWindow):
def __init__(self, parent = None):
super(Window, self).__init__(parent)
slider = QSlider()
slider.setMinimum(0)
slider.setMaximum(100)
slider.setTickInterval(20)
slider.setSingleStep(20)
self.setCentralWidget(slider)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
Это прекрасно работает до сих пор, спасибо! Но пользователь все еще способен отслеживать слайдер до значений между этапами. Как это можно предотвратить? –
Я не думаю, что это гораздо больше, чем это, может быть, если вы можете дать некоторый фон, я могу предоставить альтернативный подход. – armonge
Предположим, что есть QSlider с минимальным значением 0 и максимальным значением 100. Теперь пользователь должен иметь возможность выбирать 0, 10, 20, .., 90, 100, но не 1,2,3, ... 21,22,23, ... 91,92,93 ..., 99, перемещая раздвижная ручка. –