PyQt4:QSpinBox不接受高于100的值

时间:2011-04-22 11:12:16

标签: pyqt4

我是python和qt的新手,我想使用范围从0到1000000的微调器,但即使我将max设置为1000000,QSpinBox也不会超过100,我相信这很简单,我一直在寻找年龄,找不到任何东西。这是我到目前为止使用的代码:

steps_spin = qt.QSpinBox()
steps_spin.setValue(10000)
steps_spin.setMinimum(100)
steps_spin.setSingleStep(100)

我希望你们能帮助我!

3 个答案:

答案 0 :(得分:9)

  • QSpinBox的默认最大值为99,因此setValue限制为99。
  • 要将setValue设置为高于99的值,您必须先调用setMaximum / setRange:

    steps_spin = QtGui.QSpinBox()
    steps_spin.setMinimum(100)
    steps_spin.setMaximum(100000)
    # alternatively, you may call: steps_spin.setRange(100, 100000)
    steps_spin.setValue(10000)
    

答案 1 :(得分:3)

怎么样

steps_spin.setRange(0,1000000)

答案 2 :(得分:3)

来自PyQt4 documentation

  

QSpinBox .__ init __(self,QWidget parent = None)

     

父参数(如果不是None)会导致自己被Qt拥有   而不是PyQt。

     

构造一个旋转框,其中0为最小值,99为最大值,   步长值为1.该值初始设置为0.它是父级的   父节点。

     

另请参见setMinimum(),setMaximum()和setSingleStep()。

您可以在诺基亚的Qt documentation找到类似的文字。

工作代码示例:

from PyQt4 import QtGui
app = QtGui.QApplication([])
steps_spin = QtGui.QSpinBox()
steps_spin.setMaximum(1000000)
steps_spin.setValue(10000)
steps_spin.setMinimum(100)
steps_spin.setSingleStep(100)
steps_spin.show()