当我运行这个wxPython代码时:
self.pwm_duty_cycle_slider = wx.Slider(self.panel, id=wx.ID_ANY,
value=60, minValue=5,
maxValue=95,
style=wx.SL_VALUES)
它编译没有错误。
然而,当我改变
时 style=wx.SL_VALUES
到
style=wx.SL_VALUE_LABEL
我得到了这个追溯:
Traceback (most recent call last):
File "C:\Users\Daniel\GitHub\FiberDrill\fiberdrill\gui.py", line 112, in on_laseroption
LaserOptionDialog(self)
File "C:\Users\Daniel\Documents\GitHub\FiberDrill\fiberdrill\gui.py", line 246, in __init__
style=wx.SL_VALUE_LABEL)
AttributeError: 'module' object has no attribute 'SL_VALUE_LABEL'
我有点困惑,因为根据the wxPython documentation wx.SL_VALUE_LABEL应该是一个有效的属性。
供参考,我使用的是Enthought Canopy Python 2.7.3(64位)和wxPython 2.8.10.1
答案 0 :(得分:1)
看起来这个属性是在2.9中添加的。查看旧的2.8文档(这里的花哨版本:http://xoomer.virgilio.it/infinity77/wxPython/Widgets/wx.Slider.html),您会看到它不在列表中。您链接到的文档是Phoenix文档,因此这绝对意味着它存在于Phoenix中。我只是用2.9.3.1(经典)进行测试,它也在那里。看起来你需要升级。
顺便说一句,2.9系列没有任何问题。 wxPython的创建者说,在很多方面,它比2.8左右更稳定。但是,Phoenix版本还没有为生产做好准备,只是beta版。如果你升级,我会坚持使用经典。