wxPython Phoenix 中最大值大于 2147483647 的滑块?
Slider with max value greater than 2147483647 in wxPython Phoenix?
基本上,来自 wxPython Phoenix 的 wx.Slider
小部件不能比 2147483647
更进一步。
的确,
slider = wx.Slider( parent = parent,
value = 10,
minValue = 0,
maxValue = 2147483647 )
print slider.GetMax()
输出:
2147483647
然而,
slider = wx.Slider( parent = parent,
value = 10,
minValue = 0,
maxValue = 2147483648 )
print slider.GetMax()
输出:
(program.py:5403): Gtk-CRITICAL **: IA__gtk_range_set_range: assertion
'min < max' failed
0
我需要对该小部件使用更大的值。任何解决方法?
我假设它是一台 32 位机器?
2147483647(或 2^31-1(因为我们从 0 开始计数))是 32 位机器可以处理的最大整数
您是否考虑过将您的值除以一个合适的除数。
编辑:
有时您只需要务实。您不可能显示或使用长度为 20 亿的滑块。无论是否自动生成,让滑块使用 0% 到 100% 之间的值都比较简单,您始终可以操纵 tooltip
来显示必要的值,但即便如此,给定值的准确性在我看来,使用如此庞大的数字时的位置会非常不准确以至于毫无意义。
基本上,来自 wxPython Phoenix 的 wx.Slider
小部件不能比 2147483647
更进一步。
的确,
slider = wx.Slider( parent = parent,
value = 10,
minValue = 0,
maxValue = 2147483647 )
print slider.GetMax()
输出:
2147483647
然而,
slider = wx.Slider( parent = parent,
value = 10,
minValue = 0,
maxValue = 2147483648 )
print slider.GetMax()
输出:
(program.py:5403): Gtk-CRITICAL **: IA__gtk_range_set_range: assertion 'min < max' failed
0
我需要对该小部件使用更大的值。任何解决方法?
我假设它是一台 32 位机器?
2147483647(或 2^31-1(因为我们从 0 开始计数))是 32 位机器可以处理的最大整数
您是否考虑过将您的值除以一个合适的除数。
编辑:
有时您只需要务实。您不可能显示或使用长度为 20 亿的滑块。无论是否自动生成,让滑块使用 0% 到 100% 之间的值都比较简单,您始终可以操纵 tooltip
来显示必要的值,但即便如此,给定值的准确性在我看来,使用如此庞大的数字时的位置会非常不准确以至于毫无意义。