LINUX.ORG.RU

Нет сигнала

 ,


0

1

Добрый вечер! Пишу приложение на С в CodeBlocks. Использую GTK+. В приложении не выдается никаких ошибок. Но сигнал не работает. Подскажите плз, почему?

При клике по кнопке должен поменяться label и появится всплывающее окно сообщений. Но ничего не происходит.

====================

G_MODULE_EXPORT void on_button1_clicked(GtkButton *button, gpointer label)
{

    if(gtk_button_get_label(button1) == _U("Старт"))
       {
           gtk_button_set_label(button1, _U("Стоп"));
           ShowMsg(Buf);
       }
}


Ты уверен, что вот это корректное сравнение:

gtk_button_get_label(button1) == _U(«Старт»)

?

Deleted
()

подскажи, а фотоКаллаж без ускорителя компьютера на компьютере программиста и фотографа - не зашквар ли?

Anoxemian ★★★★★
()

Ошибка номер раз: CodeBlocks

Ошибка номер двас: GTK+

Ошибка номер трис: С

Видимо ошибка номер четырес тут: ==

наверное ты хотел g_strrstr

anonymous
()

отладчики для дебылов, настоящие пацаны идут сразу на лор

anonymous
()
Ответ на: комментарий от gag

Обработчик сигнала установлен и кнопка работает:

gtk_builder_connect_signals(builder, NULL);


Я пока не знаю как обработать кнопку, чтобы сделать два состояния. Одно с надписью "Старт", а второе с надписью "Стоп".

Да, я недавно начал изучать Си, GTK+ и Glade.
hrm57
() автор топика
Ответ на: комментарий от Anoxemian

Я бы тебе подсказал и рассказал, если бы ты спросил меня на русском. Но сории, ты такой продвинутый или задвинутый, что я просто вопроса не понял.

hrm57
() автор топика
Ответ на: комментарий от hrm57

Ok.

const gchar * gtk_button_get_label (GtkButton *button)
typedef char gchar;

Какой тип у _U("Старт")? Тоже const gchar*?

Deleted
()

Как уже написали, используй специальные функции для сравнения строк вместо оператора проверки на равенство. Сейчас ты сравниваешь указатели. Также, чтобы проверить, что функция вызывается, можешь поставить вывод сообщения либо брейкпоинт в отладчике в самое её начало.

anonymous
()
Ответ на: комментарий от Anoxemian

У него же узнал про программу Офис-Метрика. Интересная штука. Но не хватает кросс-платформенности. Есть ли кроссплатформенные подобные программы?

I-Love-Microsoft ★★★★★
()

когда нет сигнала стоит попытаться подняться повыше

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.