我有这样的东西:
class ADialog(wx.Dialog):
def __init__(self, parent, *args, **kwargs):
...
self.editor = APanel(parent=self)
...
...
class APanel(wx.Panel):
def CreatePanel(self, *args, **kwargs):
...
self.textCtrls = []
for (key, val) in zip(foo, bar):
...
box = wx.TextCtrl(parent=self, value=val, validator=Validator())
....
现在,我需要一个单独的面板,因为文本控件必须动态更改。在
问题是,Validator
的Validate()
方法永远不会被调用。在
我尝试过将标志wx.WS_EX_VALIDATE_RECURSIVELY
传递给wx.Dialog.__init__
,还尝试重写ADialog的Validate()
方法来调用APanel上的Validate()
,然后重写APanel的Validate()
方法来调用每个文本控件的验证器,但这也没用。在
操作系统:Windows 7
python版本:2.5.4
wxPython版本:2.8.10
在wx.WS_EX_递归验证是一个扩展样式,因此需要使用SetExtraStyle来设置它,而不是通过将它传递给基类''uqinit\u'
相关问题 更多 >
编程相关推荐