1

当我运行这个 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'

我有点困惑,因为根据wxPython 文档wx.SL_VALUE_LABEL 应该是一个有效的属性。

作为参考,我使用的是 Enthought Canopy Python 2.7.3(64 位)和 wxPython 2.8.10.1

4

1 回答 1

1

看起来该属性是在 2.9 中添加的。查看旧的 2.8 文档(此处为花式版本:http: //xoomer.virgilio.it/infinity77/wxPython/Widgets/wx.Slider.html),您会发现它不在列表中。您链接到的文档是 Phoenix 文档,因此这绝对意味着它存在于 Phoenix。我刚刚用 2.9.3.1 (classic) 进行了测试,它也在那里。看来你需要升级了。

顺便说一句,2.9系列没有错。wxPython 的创建者说,在许多方面,它甚至比 2.8 左右更稳定。但是,Phoenix 版本还没有准备好投入生产,只是测试版质量。如果你升级,我会坚持经典。

于 2013-07-16T19:28:29.947 回答