Самый простой кроссплатформенный набор инструментов для виджетов?

Какой самый простой кроссплатформенный набор инструментов для виджетов? Я ищу тот, который минимально охватывает Windows, OSX и Linux с интерфейсом C или C++.

6 ответов

Решение

Я не знаю ничего из того, что лично использовал с C API, но wxWidgets - это C++. Он работает на Windows, Linux и Mac OS X. И если вы ищете легкий вариант, wxPython - это оболочка Python для wxWidgets, и он довольно прост в использовании.

Мне очень нравится Qt. Работал с ним в нескольких проектах сейчас.

Хотя проект, над которым я сейчас работаю, будет выпущен только для Windows, некоторые наши разработчики кодируют под Mac OS X, используя gcc. А использование разных компиляторов и сред является дополнительным преимуществом для выявления ошибок и ошибок.

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

Я использовал оба wxWidgets и QT профессионально. Оба, безусловно, способны достичь ваших целей. Какой из них самый простой, сказать сложно. Вы не говорите нам, ищете ли вы простой в использовании или простой в освоении. Qt проще для больших программ. WxWidgets легче учиться. Это в значительной степени связано с механизмом сигнал / слот в QT, который является хорошей, но не интуитивно понятной архитектурой для больших приложений.

Обе библиотеки на самом деле настолько хороши, что я бы порекомендовал их и для кроссплатформенного программирования.

Мы говорим о графических виджетах? Если так, я могу предложить 3

FLTK:

http://www.fltk.org/

GTK:

http://www.gtk.org/

QT:

http://trolltech.com/products/qt/

Как и в случае с другими авторами, я настоятельно рекомендую ознакомиться с инструментарием C++. GTK будет работать на Windows и Mac OS, но даст только действительно хорошие результаты на Linux. И даже некоторые из сопровождающих GTK изобретают свой собственный объектно-ориентированный диалект C, чтобы избежать написания графических интерфейсов для API GTK.

Что касается C++, это зависит от того, что вы хотите. Простота развития? Родные графические интерфейсы на каждой платформе? Коммерческая поддержка?

Если вам нужны графические интерфейсы в Win32 и Linux (и что-то полуразумное в Mac), то вы можете выбрать wxWidgets. Вот более длинная статья с реальным опытом wxWidgets. Порт Mac значительно улучшился с 2002 года, когда была написана эта статья, но у него все еще есть слабые места.

Легче всего написать новую программу, с которой вы наиболее знакомы.
Самым простым в использовании, тестировании или распространении, вероятно, будет наиболее кроссплатформенный, наиболее распространенный или наиболее поддерживаемый, так что GTK+/wx/Qt/Tk?

Обратите внимание, что сам C не является особенно простым языком, особенно с растущим объектно-ориентированным подходом к GUI.

Самым простым способом создать прототип на языке сценариев, а затем преобразовать его в скомпилированный, может быть любой инструментарий с привязкой к языку сценариев (pyGTK, wxPython и т. Д.).

При этом из "больших" только GTK + и Tk имеют привязки C. wxWidgets, Qt и FLTK были написаны на C++ и, насколько я знаю, не имеют привязок к C.

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

Тогда мое личное предложение будет wxWidgets; довольно прост в использовании, лучше документирован, чем GTKmm и "свободнее", чем Qt.

Другие вопросы по тегам