2005年04月01日 星期五 10:15
On Fri, 1 Apr 2005 00:05:36 +0800, Jason Liu <telecomliu at gmail.com> wrote: > 之前我也采用跟你相似的方式来做,但毕竟这不是标准方法。 > 主要我觉得给wxWindow::wxWindow( )函数加上这样一个参数没什么害处,最多在wxWindow::Validate( > )里多检验一个Validator而已,也不会影响向下兼容性。 wxWindow里不加validator,我觉得是出于性能的考虑。毕竟只有control才需要validate。 我的代码是从C++的解决方案来的。 如果你是用wxWidgets的C++库的话,标准方法应该是重载wxDialog::OnOK方法。在wxPython里python代码无法直接访问C++的OnOK方法,只能通过EVT_BUTTON来实现,这就需要在EVT_BUTTON的处理函数中实现OnOK的功能。根据文档,wxDialog::OnOK的定义为: void wxDialog::OnOK(wxCommandEvent& event) { if ( Validate() && TransferDataFromWindow() ) { if ( IsModal() ) EndModal(wxID_OK); else { SetReturnCode(wxID_OK); this->Show(FALSE); } } } 于是就有了前面的代码。 -- Qiangning Hong Get Firefox! <http://www.spreadfirefox.com/?q=affiliates&id=67907&t=1> - - - - Thought for the moment: I WILL NOT TEACH OTHERS TO FLY I WILL NOT TEACH OTHERS TO FLY I WILL NOT TEACH OTHERS TO FLY I WILL NOT TEACH OTHERS TO FLY Bart Simpson on chalkboard in episode 9F05
Zeuux © 2025
京ICP备05028076号