Jam*_*s C 8 c++ wxwidgets event-handling
我刚开始用C++学习wxWidgets 3.0版.我已经注意到,wxWidgets中的事件处理是由Event表完成的.但是一个教程也提到了Connect() - 实际上它只是说:"本教程将使用事件表,而不是Connect()".
我想知道,事件表和Connect()背后的哲学是什么?有什么区别,什么时候比另一个更合适......谢谢.
VZ.*_*VZ. 15
首先,不要使用Connect()被Bind()取代的东西,它在各方面都更好.
其次,静态(使用事件表)和Bind()处理事件的动态(使用)方法都可以工作,您可以使用任何您喜欢的方法.就个人而言,我建议使用Bind()因为
事件表的主要优点是
Bind().然而,它们使用起来很笨拙,因为它们需要子类化(从中派生一个新类)以处理其中的非命令事件,并且它们在编译时不会检测到所有错误,从而允许您编写编译良好的代码但是在运行时崩溃.