И всё таки переделал на работу с одним соединением.
Т.к. QSqlDatabase уже синглтон, то достаточно заменить
db = QSqlDatabase::addDatabase("QMYSQL");
на
if (QSqlDatabase::contains(QSqlDatabase::defaultConnection))
db = QSqlDatabase::database();
else
db = QSqlDatabase::addDatabase("QMYSQL");
а в заголовочном файле даже не нужен static