代码之家  ›  专栏  ›  技术社区  ›  dutt

无法在qspinbox上设置全范围

  •  2
  • dutt  · 技术社区  · 14 年前

    我正在尝试创建一个接受所有数字的qspinbox,但是我在使用hte maximums时遇到了一些问题。

     sbox = QSpinBox(self)
     sbox.setRange(-sys.maxint/88-1, sys.maxint/86)
     sbox.setValue(int(setting.value))
    

    我只想用 sbox.setRange(-sys.maxint-1, sys.maxint) 但是我不能进入任何东西,如果我把范围扩大到比整个旋转器更大的范围,我就吓坏了。有人知道为什么吗?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Mark Byers    14 年前

    整数 而不是所有的数字?

    请记住,尽管PyQt是用Python编写的,但是底层的Qt库是用C++编写的,所以它很可能局限于一定宽度的固定大小的整数(例如32位或64位)。如果你试图使用接近极限的数字,那么在 QSpinBox 可能会溢出并缠绕,这可以解释您看到的异常行为。

    允许任何整数使用 QLineEdit 然后使用 int 功能。这将允许输入所有整数(您甚至可以在上面 sys.maxint )不过,您将丢失旋转箭头。