Я изучаю C ++ уже около месяца, и прежде чем я продолжу, я хотел бы прояснить этот утомительный вопрос, который у меня остается. Я знаю, что такое графический интерфейс, но я не знаю, как он работает, и, может быть, примеры популярных?
Хотя я знаю, что программирование командной строки - это основные принципы, я думаю, что было бы весело возиться с GUI.
Хотя у меня есть около 3 миллионов других вопросов, я спасу их: D
Ответы:
Я обобщаю пару библиотек GUI, но на очень высоком уровне наиболее важная концепция, которую вам необходимо понять, - это то, что GUI управляется событиями .
В консольном приложении ваш пользовательский ввод обычно происходит в определенных вами точках. Вы предлагаете своему пользователю, вы ждете его ввода, вы рассчитываете что-то на основе этого ввода. Одним из основных отличий является то, что ввод происходит только в одном месте, вы читаете текст из командной строки (
stdin
в C ++).В приложении с графическим интерфейсом у вас обычно есть несколько мест, где может происходить ввод, например кнопки, которые выполняют различные действия или текстовые поля. Это где события вступают в игру. Например, нажатие кнопки запускает событие. Это событие должно быть обработано обработчиком события , который обычно является просто методом, который принимает объект события, который вызывается, когда срабатывает такая четность. Как ваша кнопка узнает об обработчике событий? Вы обычно подписываетесь (или слушаете это).
Вот пример, вдохновленный C ++, это не настоящий код QT или C ++.
При создании Button вы регистрируете экземпляр класса MyClickHandler для кнопки.
Теперь при каждом
b
нажатии кнопки появляется окно с сообщением «Нажата кнопка Сохранить».Вы можете представить, что приложение с графическим интерфейсом состоит из двух этапов:
Это очень простой пример, но я бы порекомендовал с любой платформой, которую вы выбрали, попытаться показать окно сообщения при нажатии кнопки.
Для фреймворка их много: в случае C ++ я бы, вероятно, рекомендовал Qt.
Последнее слово: держитесь подальше от дизайнеров GUI, пока вы не узнаете, что происходит на заднем плане. Нетрудно написать несколько простых примеров и сначала понять цикл событий, а затем перейти к более сложным макетам.
источник
Сейчас самое подходящее время для изучения графического программирования. Как вы знаете C ++, я бы порекомендовал посмотреть на QT. Отличная документация, огромная база пользователей и множество примеров / руководств, доступных для изучения.
источник
Вы также можете начать с Microsoft Visual Studio C ++ Express . IDE очень дружественный и простой в использовании (и бесплатный!), И вы сможете очень быстро создавать свои первые приложения с графическим интерфейсом ... Это поможет вам сосредоточиться на понимании основ программирования , управляемого событиями , другой подход что вам нужно будет освоить.
Вы также можете непосредственно начать с создания приложений, управляемых WPF, но сначала я бы начал с Windows Forms, это одна технология, которую не так просто понять, поскольку это просто базовый C ++ с Microsoft Windows Forms API.
источник
Может быть, больше подходит для StackOverflow, помеченный c ++; но в любом случае.
Посмотрите несколько из них на Google; Qt, WxWidgets, WinApi от TheForgers, Fltk ...
GUI не так сложен в использовании, особенно если вы уже знаете c ++. Перейти с WxWidgets я считаю; Qt слишком сложен для изучения за месяц. Вы можете забрать Wx через пару часов.
источник
Пользователям не нравятся сложные вещи. Консоль - сложная вещь, поэтому вы должны создавать приложения с графическим интерфейсом, которые являются более дружественными и простыми для понимания. Это самая очевидная причина, которую я вижу. Вы можете посмотреть на gtk или Qt - эти два являются самыми популярными.
источник