Thank you guys for the help. I redefined TestInterface to exclude Q_OBJECT and deriving from Object, so it is just a pure abstract clas. I also used the suggestion and added QObject* getObject to the interface. Plugin returns "this" out of the implementation.

I am still getting an error with "connect", which returns false. By debugging it looks as if "connect" cannot find my signal in "signalsource". Any comments/suggestions?
Here is what I do:

QPluginLoader loader(pluginDir.absoluteFilePath(fileName));
if (TestInterface * interface = qobject_cast<TestInterface *>(loader.instance()))
{
QObject* signalsource = interface->getObject(); // it is not null.
connect(signalsource, SIGNAL(OnNewConfig(QString)), this, SLOT(OnNewConfig(QString)));
...
}