Когда вы передаете аргумент, вы делаете копию для объекта, и, возможно, оператор =
копирует не все данные.
Попробуйте использовать следующий код с &
в аргументе:
//connection
void Monitoring::DbConnection(QSqlDatabase& mDB)
{
mDB.setHostName("127.0.0.1");
mDB.setDatabaseName("testdb");
mDB.setPort(5432);
mDB.setPassword("test");
mDB.setUserName("12345");
if (!mDB.open()) {
qDebug() << "Database Error ! " << mDB.lastError();
mMessagebox.critical(0, "Error", "An Error occurred! "
+ mDB.lastError().text());
qApp->exit();
}
}