To set a theme to a widget, you should set its “theme” property to point to the theme’s name. That is the way it should be done.
I don’t think that is the way it should be, a global theme is quite understandable.
I don’t want to set the theme attribute in every widget, cause most of my projects are based on only one theme.