Основное отличие между QApplication и QWidget в PyQt заключается в их функциях:
- QApplication — обработчик приложения, основной элемент всех приложений в Qt. habr.com Для работы каждому приложению нужен один и только один объект QApplication, который содержит цикл событий приложения. habr.com Этот цикл управляет всем взаимодействием пользователя с графическим интерфейсом. habr.com
- QWidget — базовый пустой виджет графического интерфейса. habr.com На основе этого класса создаётся окно приложения. dzen.ru После успешного создания можно, используя методы объекта, устанавливать разные параметры окна. dzen.ru
Таким образом, QApplication отвечает за работу всего приложения, а QWidget — за создание его окна.