Модератор: Модераторы разделов
Kasper_WPS
Сообщения: 312
ОС: Gentoo
Сообщение
Kasper_WPS » 08.01.2006 22:11
Помогите пожалуйста решить очень глупую задачу
Дана функция, скажем:
Код: Выделить всё
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
Сообщение
Kasper_WPS » 09.01.2006 22:54
Дошло!
Дело в кодировке... Вот так теперь делаю:
Код: Выделить всё
...
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(); в терминал вываливается следующее сообщение:
- В поле вводилось: 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
Сообщение
oav » 10.01.2006 18:56
Kasper_WPS писал(а): ↑ 09.01.2006 22:54
- В поле вводилось: 132132
Вопрос. Что делать чтобы нормально передавался текст???
g_print("\n\nString: %s\n\n",text);
Kasper_WPS
Сообщения: 312
ОС: Gentoo
Сообщение
Kasper_WPS » 10.01.2006 22:36
Ты прав! Я ДУРАК
Спасибо! Заработало!
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