GetPosition() 不适用于 wxPython
GetPosition() not working with wxPython
我是 Python(以及一般编程)的新手,如果这是一个愚蠢的问题,请原谅我。
我正在学习一本书中关于在 Python 中创建 GUI 的教程。现在我正在学习如何使旋转控件增加一些静态文本。当我 运行 它时,旋转控件出现但控制台显示“value = event.GetPosition()
AttributeError: 'CommandEvent' 对象没有属性 'GetPosition'"
密码是:
import wx
class Frame(wx.Frame):
def __init__(self, title):
wx.Frame.__init__(self, None,\
title=title, size=(300,250))
panel = wx.Panel(self)
sc = wx.SpinCtrl(panel, value='0', pos=(130, 50), size=(70, 25))
self.valueText = wx.StaticText(panel, label='', pos=(130,80))
sc.Bind(wx.EVT_SPINCTRL, self.spinControl)
def spinControl(self, event):
# Get spin control value
value = event.GetPosition()
# Update static text
self.valueText.SetLabel(str(value))
app = wx.App()
frame = Frame("wxPython Widgets!")
frame.Show()
app.MainLoop()
该代码实际上是 copy/pasted 来自本书的网站。我已经安装了 wxPython,到那时为止一切正常。
哈尔普!
如果您将带有 GetPosition() 的行更改为
value = event.GetEventObject().GetValue()
它会起作用的。该事件只是没有 GetPosition 属性,因此无法执行。
如果要查看哪些功能和属性可用,可以使用
print(dir(event))
这将向您展示活动中可用的所有内容。
迈克尔
我在第 2 天 Python 读完了同一本书。我相信内容已经过时了。
If you change the line with GetPosition() to
value = event.GetEventObject().GetValue()
正确。我可以确认它适用于 Python 2.7.11.
耶利米
我是 Python(以及一般编程)的新手,如果这是一个愚蠢的问题,请原谅我。
我正在学习一本书中关于在 Python 中创建 GUI 的教程。现在我正在学习如何使旋转控件增加一些静态文本。当我 运行 它时,旋转控件出现但控制台显示“value = event.GetPosition() AttributeError: 'CommandEvent' 对象没有属性 'GetPosition'"
密码是:
import wx
class Frame(wx.Frame):
def __init__(self, title):
wx.Frame.__init__(self, None,\
title=title, size=(300,250))
panel = wx.Panel(self)
sc = wx.SpinCtrl(panel, value='0', pos=(130, 50), size=(70, 25))
self.valueText = wx.StaticText(panel, label='', pos=(130,80))
sc.Bind(wx.EVT_SPINCTRL, self.spinControl)
def spinControl(self, event):
# Get spin control value
value = event.GetPosition()
# Update static text
self.valueText.SetLabel(str(value))
app = wx.App()
frame = Frame("wxPython Widgets!")
frame.Show()
app.MainLoop()
该代码实际上是 copy/pasted 来自本书的网站。我已经安装了 wxPython,到那时为止一切正常。
哈尔普!
如果您将带有 GetPosition() 的行更改为
value = event.GetEventObject().GetValue()
它会起作用的。该事件只是没有 GetPosition 属性,因此无法执行。
如果要查看哪些功能和属性可用,可以使用
print(dir(event))
这将向您展示活动中可用的所有内容。
迈克尔
我在第 2 天 Python 读完了同一本书。我相信内容已经过时了。
If you change the line with GetPosition() to
value = event.GetEventObject().GetValue()
正确。我可以确认它适用于 Python 2.7.11.
耶利米