Это хорошая идея использовать набор инструментов gtkmm gui для некоторых клиентских приложений для настольных компьютеров?
Является ли этот инструментарий стабильным и достаточно ли документации в Интернете?
Это хорошая идея использовать набор инструментов gtkmm gui для некоторых клиентских приложений для настольных компьютеров?
Является ли этот инструментарий стабильным и достаточно ли документации в Интернете?
Я начал два месяца назад с gtkmm. На самом деле я портирую приложение tcl/tk, и мне очень сложно заставить его работать. Единственная полезная документация, которую я нашел, это https://developer.gnome.org/gtkmm-tutorial/ 3.4/а>
Но многие вещи описанные в мануале не работают! На самом деле я столкнулся с проблемой при переопределении обработчиков сигналов, которые должны работать, но не работают. Возможно, вы заглянете в [email protected], чтобы узнать, с какими проблемами вы, возможно, столкнетесь :-)
Документы, полученные из ввода doxygen, кажутся мне бесполезными, потому что функции в основном не описаны, а имена параметров или часто не очень понятны для меня.
По сравнению с tcl/tk интерфейс выглядит несогласованным. Иногда параметр должен быть представлен текстом, иногда указателем, а иногда и самим собственным значением. Особенно меню очень «загадочные» со строковой конфигурацией. Необходимость иметь параметры в виде текста очень неудобна! Вы должны преобразовать параметр с помощью ostrstream в текст и иногда самостоятельно анализировать параметры из текста в реальные значения.
Я решил дать gtk+ шанс на существование интерфейса c++. Я подумал, что было бы полезно получать ошибки во время компиляции, а не при запуске приложения, как с tcl/tk. Но это не всегда так с gtkmm. С gtkmm вы также можете столкнуться с ошибками во время выполнения, потому что все строковые параметры будут проанализированы во время выполнения! Это делает вещи подверженными ошибкам!
Может быть, я начну снова и дам Qt шанс. Но при первом взгляде на него видно, что так не лучше :-)
Написание приложения с графическим интерфейсом по-прежнему очень утомительная работа!
Я использовал gtkmm для написания профессиональных приложений, и да, вы можете использовать его для разработки программного обеспечения в реальном мире.
Но я также использовал C/GTK+ и C++/Qt, и я считаю, что при использовании Gtkmm у вас возникает ощущение, что исходный инструментарий предназначался для использования в C, и портирование на C++ нормально, но во многих случаях вы чувствуете, что функции C++ могли бы использовались лучше.
Для сравнения:
Если вам нужно выбирать между Gtk и Gtkmm, выберите Gtkmm, даже если вы можете застрять в какой-то недостаточно документированной или поддерживаемой функции. В конце концов вам всегда удается найти решение (вы можете проверить исходный код), а C++ намного лучше, чем c.
Если вам нужно выбирать между Gtkmm и Qt, выберите Qt. Между ними ОГРОМНАЯ пропасть. Не только в самом инструментарии, но и в документации и всех других классах, которые вам нужны при написании приложения.
gtkmm — это официально поддерживаемая привязка GTK (gtk.org/language-bindings.php).
«inkscape» и «ardour» — известные приложения, написанные на gtkmm.
Привязки, которые являются официальными привязками GNOME, следуют графику выпуска GNOME, который гарантирует стабильность API и выпуски по времени.
Если вы хотите написать свое приложение на C, используйте GTK+ (и GLib).
Ссылку на документацию можно найти по адресу http://www.gtkmm.org/ (https://developer.gnome.org/gtkmm-tutorial/).
С помощью Glade (и, например, PyGTK) вы можете быстро создать прототип своего приложения. Создать графический интерфейс с помощью Glade несложно, а полученный пользовательский интерфейс представляет собой файл xml, который не привязан к языку программирования.