是否可以修改 PyQt spinbox 以处理大于 32 位的整数(-2147483648 - 2147483647)?我知道可以用 C++ 编写一个具有 64 位 int 数据类型的新旋转框,但这会变得复杂。
最佳答案
您可以使用 QDoubleSpinBox 获得值大于 32 位的旋转框.
顾名思义,这将为您提供最大为 2**53 (9,007,199,254,740,992) 的 double (即浮点)值。如果您想要整数值,只需使用 setDecimals(0) 将精度设置为零即可。 (注意:由于某种原因,Qt Designer 不允许您为任一内置旋转框设置大于 99,999,999 的最大值,因此您必须“手动”执行此操作。
如果您想要大于 2**53 的值,请子类 QAbstractSpinBox ,重新实现相关方法( stepBy 、 stepEnabled 、 validate 以及可能的 fixup ),然后提供您认为必要的任何其他方法(例如 value/setValue
)。
关于qt4 - 具有 64 位整数的 PyQt4 spinbox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26841036/