QSlider踩?

Ric*_*urr 3 python qt pyqt qslider qabstractslider

我想指定QSlider可以滑动的步骤,就像使用QSpinBox一样setSingleStep.我尝试使用QAbstractSlider的setSingleStep,但这似乎没有效果.

有任何想法吗?

arm*_*nge 7

尝试设置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_())
Run Code Online (Sandbox Code Playgroud)

  • 这似乎不适用于 PyQt5,即使我设置了 `slider.setTickInterval(50)` 和 `slider.setSingleStep(50)`,我仍然得到 1 的步长。任何想法? (6认同)
  • 到目前为止效果很好,谢谢!但是用户仍然能够跟踪滑块到步骤之间的值。如何防止这种情况发生? (2认同)
  • 假设有一个QSlider,其最小值为0,最大值为100。现在,用户应该可以选择0、10、20,..,90、100,但不能选择1,2,3,。 .21,22,23,.. 91,92,93 ...,99通过移动滑动旋钮。 (2认同)