Use the Qt Plugin mechanism to load your extension containing the classes representing your widgets into your application. Create instances of your extension widgets (using a factory method as the interface of the plugin perhaps) and use them. You need the QApplication instance to exist when you use (instantiate) the widget. Loading the plugin is not using the widget.