PyQt4:QSpinBox 不接受高于 100 的值
Posted
技术标签:
【中文标题】PyQt4:QSpinBox 不接受高于 100 的值【英文标题】:PyQt4: QSpinBox doesn't accept values higher than 100 【发布时间】:2011-04-22 11:12:16 【问题描述】:我对 python 和 qt 很陌生,我想使用一个范围从 0 到 1000000 的微调器,但是即使我将最大值设置为 1000000,QSpinBox 也不会超过 100,我相信这真的很简单,但我一直在寻找年龄,找不到任何东西。这是我到目前为止使用的代码:
steps_spin = qt.QSpinBox()
steps_spin.setValue(10000)
steps_spin.setMinimum(100)
steps_spin.setSingleStep(100)
希望大家能帮帮我!
【问题讨论】:
【参考方案1】: QSpinBox 的默认最大值为 99,因此 setValue 限制为 99。要设置高于 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)
【讨论】:
【参考方案2】:怎么样
steps_spin.setRange(0,1000000)
【讨论】:
你能说出为什么 Qt 设计器不允许将最大范围设置为 2,176,999,999【参考方案3】:来自PyQt4 documentation:
QSpinBox.__ init__ (self, QWidget parent = None)
parent 参数,如果不是 None,则导致 self 归 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()
【讨论】:
以上是关于PyQt4:QSpinBox 不接受高于 100 的值的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 python 在 Maya 中设置目录?目前使用 PyQt4,但愿意接受任何建议
QSlider 和 QSpinBox 之间的 Qt 模型视图架构