QT:Как вызвать функцию из другого потока?
Есть функция в MainWindow, обновляющая ListWidget элементами из базы данных:
//Синхронизация ListWidget с базой данных
void MainWindow::listWidgetUpdate()
{
ui->listWidget->clear();
QSqlQuery query_update("SELECT * FROM clients");
QSqlRecord rec = query_update.record();
while(query_update.next()){
companyName = query_update.value(rec.indexOf("companyName")).toString();
ui->listWidget->addItem(companyName);
QVariant id = query_update.value(rec.indexOf("id")).toString();
ui->listWidget->item(ui->listWidget->count()-1)->setData(Qt::UserRole, id);
}
}
Работает она исправно, но при тестировании на 5000 записей, конкретно подвисает, GUi висит, окно не отвечает. Я в Qt недавно и ненадолго, поэтому разбираюсь на очень посредственном уровне, но я так понял, можно как-то запустить эту функцию из другого потока, как это сделать?