把ButtonFactory变成WidgetFactory，目的简化代码，增加功能，不仅仅处理button..