Promoting a widget doesn't yield any benefits other than forcing uic to generate code for the promoted widget instead of its superclass. Bearing the fact that uic doesn't create the top-most widget, promoting it doesn't make any sense, the code generated by uic would be identical with the only exception that setupUi() would have a different argument type which would give no additional value considering the presence of inheritance in C++ where you can pass a subclass to a function that expects a superclass.
I'm not sure how promoting a layout would work... I could understand a layout plugin but promoting a layout...?Also the promoting idea should be usable with layouts too !
Bookmarks