в main
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL","mydb");
db.setDatabaseName("mydb");
db.setUserName("myuser");
db.setPassword("mypassword");
db.setHostName("10.10.10.10");
if( !db.open() ){
qDebug() << db.lastError();
}
Функция срабатывает по таймауту QTimer
void myFrom::refresh(){
QSqlQuery query(QSqlDatabase::database("mydb")); // тут как я понял происходит зависание
QString sql="SELECT p1,p2 from table";
if(!query.exec(sql)){
QMessageBox::critical(this, QObject::tr("SQL Error"), query.lastError().text());
return;
}
while (query.next()) {
// тут пишу в нужные поля результат
}
}