Статья на Хабре. Графический интерфейс пользователя, каким мы его знаем сегодня, возник в результате десятилетий исследований множества инженеров и ученых. Программа Sketchpad Айвена Сазерленда, созданная в 1962 году, считается первым графическим интерфейсом пользователя. Дуглас Энгельбарт изобрел компьютерную мышь в 1964 году, чтобы преодолеть ограничения световых перьев. Конструкция мыши продолжала развиваться. Исследователи PARC разработали первые растровые окна и меню, которые реагировали на ввод данных мышью...
Много лет назад я написал графонистую игру Life, в которой можно было регулировать различные параметры: Собственно, целью было не столько реализовать алгоритм Life, сколько потренироваться в создании графических интерфейсов. Я сделал такие элементы, как индикатор вкл/выкл, кнопка и ползунок. Есть мнение, что делать графический интерфейс это если не самая сложная задача, то как минимум громоздкая и неприятная. Отсюда и использование разнообразных костылей вроде QT, tkinter. Как и следует ожидать, они сильно утяжеляют программу, и скоростью работы тоже не блещут...