QThread был разработан и предназначен для использования в качестве интерфейса или контрольной точки для потока операционной системы, а не для размещения кода, который вы хотите запустить в потоке.Мы объектно-ориентированные программисты подкласс, потому что мы хотим расширить или специализировать функциональность базового класса.Единственные веские причины, по которым я могу придумать подкласс QThread, - это добавить функциональность, которой нет в QThread, например, возможно, указатель на память для использования в качестве стека потока или, возможно, добавление интерфейсов / поддержки в реальном времени.Код для загрузки файла, или для запроса базы данных, или для какой-либо другой обработки не следует добавлять к подклассу QThread;он должен быть заключен в отдельный объект.
для более подробной информации, пожалуйста, проверьте это ..
http://labs.qt.nokia.com/2010/06/17/youre-doing-it-wrong/