refactor QBaseButton.as