Ну во-первых, Qt != KDE.
конечно Qt != KDE, но если кто-то живёт в другом DE, оконном окружении, например QNOME, да и все другие, то он и не пересекается никаким образом ни с Qt, ни с исполняющей системой Qt... а исполняющая система Qt, в таких случаях, и устанавливается (по зависимостям) при установке чего-то из ПО из комплекта KDE.
ведь в других DE/WM, как вы сами понимаете, есть масса других инструментов построения GUI, когда это нужно по-быстренькому что-то сделать: Tcl/Tk(wish), GTK, wxWidget и др.
только таким образом Qt получается часто косвенно связано с KDE: где KDE - там Qt, а где KDE нет, то на таких рабочих местах часто и Qt нет.
А во-вторых надо использовать не
#include "qapplication.h"
#include <qdialog.h>
А#include <QApplication>
#include <QDialog>
$ cat /usr/include/QtGui/QApplication
#include "qapplication.h"
Хотя вполне возможно, что на другой платформе содержимое файла QApplication будет другим, поэтому и надо подключать именно QApplication.
а вот это неверно!
/usr/include/QtGui - появится только тогда, когда вы специально установите средства разработки Qt, что-то типа пакета qt-develop, если этого не делать, то и
каталога такого нет (как и входящих в него файлов).
а вот
исполняющая система (инклуды, библиотеки) может устанавливаться с приложениями, и она присутствует всегда, вот те "qapplication.h", на которые именно и указывает -I опция при построении проекта.
Хотя да, возможно в Qt3 и нет отдельного QApplication, есть qapplication.h, не думаю что сейчас кто-то ещё сильно пользуется Qt3.
великое множество существующих и эксплуатируемых пакетов благополучно работают на Qt3, ничего чтоб особо существенного (не с точки зрения разработчика, а эксплуатации) Qt4 так и не принёс (например обещанной производительности), так что многие и многие давние пользователи Linux с появлением KDE4 от него отказались, а автоматом и от использования Qt4.