Изучил основы C/C++ и хотел бы написать уже хорошую программу с интерфейсом и оболочкой, но с чего начать изуениеGUI?
Шлее - Qt
Смотря что вы понимаете под основами. Для GUI нужно знать ООП.
Точно необходимо понять многопоточность, взаимодействие потоков, блокировки. Это базовый минимум, т.к. GUI всегда работает в отдельном потоке. Второе - понять, что в GUI оперируют понятием события. Нажатие на кнопку - событие, движение мыши - событие. Отсюда вытекает необходимость почитать и понять про главный цикл, по-другому цикл обработки событий или цикл обработки сообщений.
Для начальной разработки GUI отлично подходит QT с системой сигналов, слотов. Эти сигналы и слоты помогают очень просто организовать взаимодействие потока интерфейса и остального приложения.