У qt есть хорошая документация с примерами приложений. Берете эти примеры и смотрите как там все реализовано. Также можно поискать проекты на github, изучить их реализаци. KDE написана с помощью Qt, исходники открыты.
Конечно базовые знания алгоритмов и структур данных должны быть. Но это для всех програмистов важно, не только для desktop разработчиков.