Здание с графическим интерфейсом GTK # - PullRequest
3 голосов
/ 20 января 2011

Мне может понадобиться создать графический интерфейс GTK с использованием C # и Mono. Если я правильно понимаю, это означает, что у меня есть 3 варианта:

  • Напишите код C # для вызова классов-обёрток GTK #. GUI "в коде".

  • Использовать дизайнер MonoDevelop GUI. Это создает интерфейс с использованием стетической разметки. Я, кажется, просто XML.

  • Используйте Glade и libglade для создания графического интерфейса и загрузки его во время выполнения.

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

Я также использовал Glade в прошлом с Python ...

Оба эти проекта носили экспериментальный характер, поэтому мне бы очень хотелось услышать от кого-то, кто участвовал в этой битве раньше. Каковы преимущества и недостатки каждого?

Наконец, было бы неплохо, если бы разработка этого проекта проводилась в Windows, Linux и Mac OS X.

1 Ответ

1 голос
/ 20 января 2011

В старые времена дизайнер MonoDevelop GTK был ужасен. Сегодня это очень надежное (не полностью, но очень) решение для создания богатых графических интерфейсов. Это лучший вариант для всех платформ. Создание GUI через код может стать довольно болезненным. С другой стороны, использование Glade - радость, но у вас есть некоторые недостатки. Эти недостатки касаются некоторых ограниченных параметров ваших элементов управления во время выполнения, таких как установка непрозрачности для окон и т. Д., Поскольку вам необходимо загрузить файлы XML Glade с пространством имен Glade. Конечно, всегда есть возможность импортировать файлы Glade в ваш проект, но у меня это никогда не получалось.

...