2010-01-21 2 views
1

Извините мое невежество здесь, но я не знаю ни C++, ни GTK +.C++, GTK + и String типы

Какой тип строки используется при настройке строк в виджетах GTK +?

В .NET строки, переданные элементу управления, очевидно, являются .NET System.String. В Cocoa строки, переданные в элемент управления, - NSString. Но я понимаю, что C++ не имеет стандартизованного типа String (но действительно несколько, в зависимости от используемой библиотеки).

Так как же строки передаются GTK + виджетам?

(я имею в виду C строк, но я хочу, чтобы знать наверняка.)

+0

Кстати, вы можете проверить * STL * (** Standard ** Template Library) для класса под названием 'std :: string'. Я считаю, что это рассматривается как «стандартизованный тип строки C++». Как вы обнаружили, нет * универсальной * строковой библиотеки. –

+1

Попробуйте Vala: [http://live.gnome.org/Vala] это новый язык для GTK +, который создает собственный код и лучше разработан, чем C++ (IMHO). – lepe

ответ

6

весь текст в GTK + в UTF-8 кодировке, используя char *, конечно const, где это возможно. Помните, что GTK + реализован на C, поэтому, например, STL не использует STL.

Основополагающий бойкий-х character-set conversion documentation начинается с указанием:

Glib использует UTF-8 для строк, и GUI инструментариев, как GTK +, которые используют Glib сделать то же самое.

+0

Я предполагаю, что это правда, и это было в значительной степени тем, что я ожидал. Ta. –

2

Обратите внимание, что если вы используете Gtk + в C++, несмотря на то, что можно использовать собственный интерфейс C, вы определенно должны использовать Gtkmm, родной C++ связывания вместо этого. Это гораздо лучший интерфейс, так как вам не нужно возиться с любым кодом GObject.

Смежные вопросы