Каков наилучший способ сделать простой кроссплатформенный графический интерфейс на C ++? - PullRequest
5 голосов
/ 22 мая 2009

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

Мои основные цели - Mac и Windows.

Возможно ли это с помощью Visual C ++ 2008?

Может ли кто-нибудь указать на какие-либо примеры использования Visual C ++?

Или есть лучший способ создать графический интерфейс отдельно?

Ответы [ 7 ]

23 голосов
/ 22 мая 2009

Используйте Qt4. http://qt -project.org /

Это автономный фреймворк, который содержит инструменты для разработчиков, GUI-компоновщики, классы String / IO / XML / Thread, элементы управления аудио / видео, виджеты HTML и многие, многие другие функции. Он полностью мультиплатформенный, один код для всех систем.

В отличие от wxWidgets, он чувствует себя более объектно-ориентированным, имеет гораздо лучшую документацию и его лучшее обслуживание.

См. Онлайн: http://qt -project.org / doc / qt-4.8 /

Edit- 6 лет со дня первоначального ответа. Я должен указать на Qt5 - http://www.qt.io/

11 голосов
/ 22 мая 2009

Я бы порекомендовал wxWidgets . Он кроссплатформенный и работает с Visual C ++.

Также есть Qt (см. Сообщение Колинса), который использует KDE (менеджер рабочего стола Linux) Он имеет более ограничительную лицензию.

9 голосов
/ 22 мая 2009

Вы также можете взглянуть на FLTK

FLTK (произносится как "fulltick") - это кроссплатформенный набор инструментов C ++ GUI для UNIX® / Linux® (X11), Microsoft® Windows® и MacOS® X. FLTK обеспечивает современные функциональные возможности GUI без раздувания и поддерживает 3D-графику через OpenGL® и встроенную эмуляцию GLUT.

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

Вот несколько быстрых скринкастов

5 голосов
/ 22 мая 2009

Поскольку пользовательский интерфейс очень прост, я бы посоветовал вам начать в Windows с Visual Studio и хранить все компоненты пользовательского интерфейса в отдельных файлах, полностью отделяя его от остальной части вашего приложения.

Затем в OS X вы получите лучшие визуальные результаты, создав приложение Cocoa и написав пользовательский интерфейс в Objective C в сочетании с Interface Builder. Затем вы можете легко подключить интерфейс с помощью внутреннего кода C ++. (Компилятор Objective C понимает код C ++ в том же файле, что и код Objective C.)

Это позволит вам создать кроссплатформенное приложение, которое будет отлично смотреться как на Windows, так и на OS X, чего, скорее всего, QT или другие кросс-платформенные комплекты никогда не достигнут

5 голосов
/ 22 мая 2009
  1. GTK +
  2. QT
  3. WxWidgets

Если вы спрашиваете о .NET, то (если предположить, что это Visual C ++ 2008), тогда пользователи Linux и Mac OS X могут запускать приложения .NET с Mono .

3 голосов
/ 22 мая 2009

Я бы посоветовал вам взглянуть на Qt инструментарий. Он содержит кроссплатформенные элементы пользовательского интерфейса. Можно использовать это с VS2008.

1 голос
/ 22 мая 2009

Gtkmm - это C ++, и доказано, что он работает в Linux и Windows с Visual Studio.

...