2011-01-28 7 views
1

을 사용하여 QSpinBox에서 가능한 것처럼 QSlider가 슬라이드 할 수있는 단계를 지정하고 싶습니다. 나는 QAbstractSlider의 setSingleStep을 사용하려고 시도했지만 이것은 아무 효과가없는 것 같다.QSlider 스테핑?

아이디어가 있으십니까?

답변

5

tickInterval에 대한

죄송 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_()) 
+0

지금까지 큰 성과를 거뒀습니다. 감사합니다. 그러나 사용자는 슬라이더를 단계 사이의 값으로 추적 할 수 있습니다. 어떻게 예방할 수 있습니까? –

+0

나는 이것보다 훨씬 더 많이 생각하지 않는다. 아마도 배경을 줄 수 있다면 다른 접근법을 제공 할 수있다. – armonge

+1

최소값이 0이고 최대 값이 100 인 QSlider가 있다고 가정 해 보자. 사용자는 0, 10, 20, .., 90, 100을 선택할 수 있지만 1,2,3, .. 21,22,23, .. 91,92,93 ..., 99는 선택할 수 없습니다. 슬라이딩 노브. –