MrNexeon
@MrNexeon

Как перейти с консольных приложений на графические (оконные)?

Добрый вечер,

После длительного изучения и практики C++, я хочу перейти к чему-то более серьезному. А конкретно писать графические приложения с пользовательским интерфейсом, ну хотя бы банально уметь "создавать окно", вместо работы с консолью. (простыми словами - как мне начать использовать GUI?)

С чего мне начать и какие библиотеки изучать? Может быть есть какие-то книги или курсы с лекциями о которых я не знаю. Честно, я пробовал искать на различных языках, но не нашел ничего стоящего кроме как фреймворка Qt, но хочу обойтись пока что без него. (Если это возможно, потому что вскоре я хочу специализироваться на создании игр) Возможно мне стоит изучить windows.h

Буду очень благодарен любым вашим советам, рекомендациям или ресурсам.
  • Вопрос задан
  • 1106 просмотров
Решения вопроса 2
sfi0zy
@sfi0zy
Creative frontend developer
Создавать GUI с помощью WinAPI - это, конечно, очень полезно с точки зрения своего развития, но... сейчас мало кто этим занимается. Есть Qt, есть GTK, есть <вставьте свое название>, которые заметно упрощают разработку пользовательских интерфейсов. Если вам будет необходимо создавать сложные интерфейсы (вспомните MS Office или Adobe Photoshop) - стоит выбрать что-то из этого и использовать, но в случае с разработкой игр ситуация немного другая: в играх интерфейс такого рода обычно не нужен. Вообще. Там обычно только одно "главное меню" и немножко элементов интерфейса, которые мало похожи на то, что вы видите в среднестатистическом приложении. Поэтому (личное мнение) если вы хотите заниматься разработкой игр, вам стоит изучать то, что в них более востребовано - например SDL. И сразу читать что-то вроде SDL Game Development и писать. Через некоторое время будете делать 2D-игры без проблем (со звуком, спрайтами, клавиатурой/мышью/джойстиком, нормальными уровнями, и.т.д.) и, заодно, поймете принципы создания архитектуры подобного рода проектов. А потом смотреть в сторону каких-либо физических движков или углубляться в графику (OpenGL/DirectX).
Ответ написан
@VZVZ
Reverse-Engineer, Software Developer, Architect
Выбор GUI-фреймворка зависит от ОС, под которую хотите писать.
Лучше всего писать GUI не на C++, а осваивать C# под Winforms/WPF. Создавать на нем GUI гораздо проще, получается гораздо лучше, в нем гораздо больше всего готового, под винду это однозначно лучше, чем Qt (который кроссплатформенный - т.е. работает больше на количество, чем качество) Но полноценный C# есть только под винду. А вот нужны ли вам другие ОС, какие именно - это от задач зависит и от того, какую ОС вы знаете лучше всего и какая под рукой.

C++ под WinAPI стоит изучать под виндой параллельно C# под Winforms, для знания основ, ведь весь GUI, который есть на винде, в той или иной мере основан на WinAPI.
Но реально на нем, конечно, не пишут гуев, а используют его в виде вставок в код на том же C#, для тех задач, для которых в .NET нет средств.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
theWaR_13
@theWaR_13
Зря вы говорите о том, что Qt не подходит для создания игр. Посмотрите, например, на Dungeon Defenders 2 - достаточно популярная игра в стиме, которая написана именно на Qt. Это не единственный пример, просто первым пришел в голову. Qt предоставляет по истине большие возможности для разработки GUI-приложений.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы