GTK, C++, появился мааааленький вопрос

Модератор: Модераторы разделов

Аватара пользователя
Kasper_WPS
Сообщения: 312
ОС: Gentoo

GTK, C++, появился мааааленький вопрос

Сообщение Kasper_WPS »

Помогите пожалуйста решить очень глупую задачу :)
Дана функция, скажем:

Код: Выделить всё

static void button_click_cb(GtkWidget *w, gpointer data)
{
 ...
}

В data, при помощи:

Код: Выделить всё

gtk_signal_connect(GTK_OBJECT(button), "clicked",
                   GTK_SIGNAL_FUNC(button_click_cb), gtk_entry_get_text(input));

Передается текст... Это конечно глупо, но ведь можно только передавать тип gpointer
из gtk_signal_connect();... Что делать? Как принять текст внутри button_click_cb();

За такие глупости извините, но дня четыре изучаю C++, многого еще не знаю.
Gentoo Linux - Stage1 - Core2 Q6600 Quad - 2008.0
Kernel: Gentoo-sources - 2.6.36 GCC 4.5.1
XOrg-server 1.9.2 (NVIDIA-9600GT), KDE4 4.5.4
Спасибо сказали:
Аватара пользователя
Kasper_WPS
Сообщения: 312
ОС: Gentoo

Re: GTK, C++, появился мааааленький вопрос

Сообщение Kasper_WPS »

Дошло! :) Дело в кодировке... Вот так теперь делаю:

Код: Выделить всё

...
  gtk_signal_connect(GTK_OBJECT(button), "clicked",
                     GTK_SIGNAL_FUNC(button_click_cb), input);
...
static void button_click_cb(GtkWidget *window, gpointer data)
{
 GtkWidget *input;
 gchar *text;

 input = GTK_WIDGET(data);
 text  = gtk_entry_get_text(GTK_OBJECT(input));

 g_print("\n\nString: %s\n\n",&text);
...

Теперь при выводе g_print(); в терминал вываливается следующее сообщение:

Код: Выделить всё

[Invalid UTF-8]

String: \xd0\x01X

- В поле вводилось: 132132

Вопрос. Что делать чтобы нормально передавался текст???
Gentoo Linux - Stage1 - Core2 Q6600 Quad - 2008.0
Kernel: Gentoo-sources - 2.6.36 GCC 4.5.1
XOrg-server 1.9.2 (NVIDIA-9600GT), KDE4 4.5.4
Спасибо сказали:
Аватара пользователя
oav
Бывший модератор
Сообщения: 296

Re: GTK, C++, появился мааааленький вопрос

Сообщение oav »

Kasper_WPS писал(а):
09.01.2006 22:54
- В поле вводилось: 132132

Вопрос. Что делать чтобы нормально передавался текст???

g_print("\n\nString: %s\n\n",text);
Спасибо сказали:
Аватара пользователя
Kasper_WPS
Сообщения: 312
ОС: Gentoo

Re: GTK, C++, появился мааааленький вопрос

Сообщение Kasper_WPS »

Ты прав! Я ДУРАК :wacko:

Спасибо! Заработало!
Gentoo Linux - Stage1 - Core2 Q6600 Quad - 2008.0
Kernel: Gentoo-sources - 2.6.36 GCC 4.5.1
XOrg-server 1.9.2 (NVIDIA-9600GT), KDE4 4.5.4
Спасибо сказали: