2024-10-04 03:29:32 发布
网友
我想知道是否有一个字典包含wxPython类的字符串版本(比如'Button'forwx.按钮)他们称之为事件。这就是我想要的:{'Button': wx.EVT_BUTTON, ...}。在模块中或网络上有这样的字典吗?在
{'Button': wx.EVT_BUTTON, ...}
wxGlade知道这一点:对于每一个Widget,都有一个从class ManagedBase派生的class EditWidget,它有一个类属性events,保存着{}发送的事件的名称:
Widget
class ManagedBase
class EditWidget
events
例如,在widgets/bitmap_button/bitmap_button.py你会发现
class EditBitmapButton(ManagedBase): events = ['EVT_BUTTON']
您可以通过导入所有这些类(我认为可以自动完成)并读取它们的events属性来收集所需的信息。在
解释一下血钱博士说的话:
adict = {} for k,v in dir(wx): if k.startswith('EVT_'): adict[k[3:]] = v
然而,尽管EVT_SOMETHING是一个事件类,并且是唯一的,但是不能保证事件对象的ID号是唯一的(不要与Python的ID()内置函数混淆)。在
当你说“无”时,你会说:“我想知道是否有一个字典包含wxPython类的字符串版本(比如'Button'forwx.按钮)“我想你的意思是”对于事件,小部件也明确地有事件处理程序;事件处理程序通常是类方法,比如wx.Button.OnPaint公司()。”
要查找任何小部件都有哪些事件处理程序,并且在不使用wxGlade时,可以打开每个小部件Python模块文件。例如:
\python\Lib\site-packages\wx-2.8-msw-unicode\wx\lib\buttons.py
还要记住,wx小部件可能无法处理像wx.EVT_按钮,但这并不意味着它不能。而且这样的小部件可能会将一些事件类型传递给它的父级,无论它的父级中是否有事件处理程序;比如wx.面板widget会的。在
这是我所做的(可能在某个时候从邮件列表中获取):
for i in dir(wx): if i.startswith('EVT_'): print i
很明显,这并不是你想要的,但是结果是非常直观的,可以知道什么能起作用。在
wxGlade知道这一点:对于每一个}发送的事件的名称:
Widget
,都有一个从class ManagedBase
派生的class EditWidget
,它有一个类属性events
,保存着{例如,在widgets/bitmap_button/bitmap_button.py你会发现
您可以通过导入所有这些类(我认为可以自动完成)并读取它们的
events
属性来收集所需的信息。在解释一下血钱博士说的话:
然而,尽管EVT_SOMETHING是一个事件类,并且是唯一的,但是不能保证事件对象的ID号是唯一的(不要与Python的ID()内置函数混淆)。在
当你说“无”时,你会说:“我想知道是否有一个字典包含wxPython类的字符串版本(比如'Button'forwx.按钮)“我想你的意思是”对于事件,小部件也明确地有事件处理程序;事件处理程序通常是类方法,比如wx.Button.OnPaint公司()。”
要查找任何小部件都有哪些事件处理程序,并且在不使用wxGlade时,可以打开每个小部件Python模块文件。例如:
还要记住,wx小部件可能无法处理像wx.EVT_按钮,但这并不意味着它不能。而且这样的小部件可能会将一些事件类型传递给它的父级,无论它的父级中是否有事件处理程序;比如wx.面板widget会的。在
这是我所做的(可能在某个时候从邮件列表中获取):
很明显,这并不是你想要的,但是结果是非常直观的,可以知道什么能起作用。在
相关问题 更多 >
编程相关推荐