Задать вопрос
@dariasweetsun

Как можно безопасно использовать подключение QSqlDatabase с разных потоков?

У меня есть экземпляр подключения к БД (QSqlDatabase). Также у меня есть основная форма на которой, допустим, есть кнопка выбора картинки пользователя. Как мне правильно организовать загрузку этой картинки в базу? Очевидно, что в этом основном потоке, где у меня GUI, это делать неправильно, поскольку окно программы может зависнуть, хотя на самом деле программа просто выполняет загрузку картинки и окно в это время "ждёт".
Как я поняла нужно делать это в отдельном потоке, но где-то в документации Qt сказано, что "соединение QSqlDatabase может использоваться только из потока, который его создал". Есть также вариант использовать мьютексы и статическое объявление, но не до конца понимаю что и как.

Подскажите пожалуйста как быть.
  • Вопрос задан
  • 96 просмотров
Подписаться 1 Сложный Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Нетология
    Разработчик на C++: Профессия + специализация + нейросети
    12 месяцев
    Далее
  • Яндекс Практикум
    Разработчик C++ расширенный
    12 месяцев
    Далее
Решения вопроса 1
Zifix
@Zifix Куратор тега Qt
Barbatum
А в чем проблема? Есть отдельный поток, который работает с БД, взаимодействие с ним идёт через сигналы/слоты, которые потокобезопасны.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы