Для работы с потоками в PyQt5 можно использовать следующие подходы:
- Создать новый класс, наследуемый от QThread, и переопределить метод запуска. 1 Этот метод рекомендуется использовать, если нужно переопределить класс потока, чтобы создать специальный функционал. 1
- Создать новый класс, наследуемый от QObject, написать метод run, который будет выполнять некоторый код, и передать экземпляр этого класса в другой поток с помощью метода moveToThread. 1
Алгоритм действий: 1
- Написать класс, который наследуется от QObject и имеет метод run для выполнения кода в другом потоке. 1
- В конструкторе окна создать объект потока. 1
- В конструкторе окна создать объект, который будет передан другому потоку. 1
- Перенести объект в другой поток. 1
- Соединить сигналы и слоты. 1
- Запустить нить. 1
Также для простых случаев можно использовать модуль simple_thread. 5 С его помощью можно заставить любой метод класса выполняться в отдельном потоке, при этом изнутри метода можно обращаться (хотя и ограниченно) к атрибутам и методам класса. 5