我想指定QSlider可以滑动的步骤,就像QSpinBox可以通过使用setSingleStep
一样。我尝试使用QAbstractSlider的setSingleStep,但这似乎没有效果。
有什么想法吗?
尝试设置tickInterval
编辑
对不起tickInterval,我还没有考虑过,但是我有这个工作代码,它可以使用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_())
我扩展了QSlider类以限制用户,以使他们无法在步骤之间跟踪滑块。SetInterval
方法等效于组合setTickInterval
和setSingleStep
方法,但还会使滑块停止在刻度值之间。