Может ли класс, унаследованный от QThread и имеющий метод run, иметь другие методы и может ли он использоваться как другой нормальный (не наследуемый от QThread) класс?
Да, класс, который наследуется от QThread, все еще является нормальным классом. Однако необходимо по мере необходимости синхронизировать вызовы функций-членов, которые происходят в другом контексте потока (т.е. вызовы извне метода run). Прочитайте о Поддержка тем в Qt для более подробной информации. Херб Саттер имеет замечательную коллекцию статей, в которых также обсуждаются различные аспекты параллелизма .