2010-09-11 4 views
0

У меня есть некоторые знания в C/C++, но только с помощью консоли. Я хотел бы начать программирование некоторых графических интерфейсов, но у меня нет минимальной идеи, с чего начать.Каков наилучший способ запуска программирования графических интерфейсов в C?

Я слышал о приложениях с графическим интерфейсом и приложениях DirectX. Я хотел бы знать, что лучше всего для начала программирования?

Какие библиотеки также полезны для использования и некоторые учебные пособия, если это возможно.

+0

Возможный дубликат [Good C++ GUI library for Windows] (http://stackoverflow.com/questions/115045/good-c-gui-library-for-windows) –

+0

@PAssant, это может быть дубликат, но не этого вопроса. Родриго спрашивает об обучении не обязательно лучших. – HandyGandy

ответ

8

Какова ваша платформа?

Если вы заботитесь только о Windows и не против устаревшей технологии, вы можете перейти на MFC.

Если вы хотите использовать кросс-платформенный инструментарий GUI; Есть несколько:

  • GTK
  • WxWidget
  • Qt

Если вы хотите что-то больше о разработке, вместо скучных форм графического интерфейса; то вы можете узнать как:

  • OpenGL (кросс-платформенный)
  • DirectX (Windows только)

Для простого использования, и если вы в Windows, вы можете использовать GDI +, который также довольно устарел.

Новые платформы .NET имеют графические интерфейсы с причудливыми именами, хотя я не совсем знаком с ними, чтобы предложить что-либо.

+0

Было бы неплохо избавиться от 3 основных наборов инструментов и просто иметь один xplatform, но не похоже, что это произойдет в ближайшее время, поэтому возьмите свой выбор. –

+0

Если вам нужно что-то узнать для Windows, не изучайте MFC. Используйте собственные вызовы API, MFC не дает никаких преимуществ перед ними, и это действительно уродливо. – nico

+1

Если вы хотите, чтобы ваш графический интерфейс работал быстро, без особых хлопот, Qt - очень хороший выбор. –

0

Если вы находитесь в Windows, лучший способ узнать - использовать C++ Builder. Embarcadaro (или что-то еще) предлагает бесплатную версию, если вы хотите. Просто Google C++ Builder.

+0

Как тот, кто ежедневно использует этот продукт, есть несколько предостережений, которые следует учитывать.Вы можете создать очень приятный интерфейс графического интерфейса, однако я обнаружил, что не все компоненты Delphi доступны на C++, что затрудняет работу над некоторыми сложными объектами. Для этого компилятора существует ограниченная поддержка в мире с открытым исходным кодом, поэтому, если он собирается придерживаться C++, его варианты несколько ограничены. Наконец, с Rad Studio 2010, я нашел документацию очень ограниченной. В целом, HandyGandy верен в своей рекомендации, но это не будет моей первой рекомендацией. –

-3

Если вы работаете в Windows, перейдите на Windows Presentation Foundation (WPF). Не теряйте время на этих традиционных инструментах GUI-Toolkits, они прошли. Настоящие (не смеют рассказывать о будущем) - это декларативные, настраиваемые интегрированные среды 2D/3D/мультимедиа, такие как WPF.

+0

О, довольно куча фанатичных поклонников WPF здесь. Будете ли вы так любезны и комментируете, если вы спуститесь ...?! –

+0

Я не спустил вниз, но, возможно, вам следует объяснить, почему вы думаете, что WPF лучше, чем GTK, Qt и т. Д. Я никогда не использовал его, и из вашего ответа я действительно не понимаю, каковы его положительные и отрицательные моменты (одна отрицательная точка что приходит на ум, просто глядя на имя, что это не кросс-платформенный). – nico

+0

Новичкам может быть намного проще начать создание пользовательского интерфейса с WPF. Хотя дизайнер Visual Studio менее полезен, можно использовать нечто вроде Expression Blend. Я никогда не слышал о таких высококачественных инструментах для Qt или GTK. И я бы сказал, что разработка хорошего пользовательского интерфейса (то есть с точки зрения i18n) с использованием этих технологий является трудной, почти невозможной для новичков. –

2

Если вы используете Windows 7, ознакомьтесь с замечательной серией обучающих программ Hilo для разработки богатых пользовательских интерфейсов на C++. Вы также можете обнаружить, что это хороший повод начать изучение C# /. NET, поскольку разработка GUI особенно проста в этом.