Возможно ли запустить несколько QWidgets в отдельных потоках

#qt

#qt

Вопрос:

Я изучаю Qt и пытаюсь создать приложение, которое открывает документы на вкладках QTabWidget. И мне нужно, чтобы каждая вкладка была запущена в отдельном потоке. Возможно ли это? И если это так, не могли бы вы, пожалуйста, показать простой пример.

Ответ №1:

Нет, это невозможно. Виджеты должны всегда отрисовываться и обрабатываться основным потоком, где выполняется цикл событий.

Что вы можете сделать, так это определить некоторые слоты для каждой вкладки, которые открывают документ и подключаются к некоторым сигналам в ваших потоках. Таким образом, вы можете выдать сигнал, если документ должен быть открыт на вкладке из другого потока, и он будет открыт и обработан потоком цикла событий.