Допустим, есть такая маленькая прога. Она отображает окно с кнопкой, при нажатии которой в терминал выводится сообщение. Вообщем-то и все.
Хочу создать процедуру (new_text_button()), которая будет просто изменять надпись этой кнопки.
Как это сделать и с какими параметрами ее вызывать?
Код: Выделить всё
#include <gtk/gtk.h>
gint eventDelete(GtkWidget *widget,GdkEvent *event,gpointer data);
gint eventDestroy(GtkWidget *widget,GdkEvent *event,gpointer data);
void eventButton(GtkWidget *widget,GdkEvent *event,gpointer data);
void new_text_button();
int main(int argc,char *argv[]) {
GtkWidget *topLevelWindow;
GtkWidget *pushMeButton;
gtk_init(&argc,&argv);
topLevelWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_signal_connect(GTK_OBJECT(topLevelWindow),
"delete_event",
GTK_SIGNAL_FUNC(eventDelete),
NULL);
gtk_signal_connect(GTK_OBJECT(topLevelWindow),
"destroy",
GTK_SIGNAL_FUNC(eventDestroy),
NULL);
pushMeButton = gtk_button_new_with_label("Push me!");
gtk_signal_connect(GTK_OBJECT(pushMeButton),
"clicked",
GTK_SIGNAL_FUNC(eventButton),
NULL);
gtk_container_add(GTK_CONTAINER(topLevelWindow),
pushMeButton);
gtk_container_set_border_width(
GTK_CONTAINER(topLevelWindow),30);
gtk_widget_show(topLevelWindow);
gtk_widget_show(pushMeButton);
gtk_main();
exit(0);
}
void eventButton(GtkWidget *widget,
GdkEvent *event,gpointer data) {
g_print("The button was pushed!\n");
}
void new_text_button() {
//Что надо здесь написать для изменения имени кнопки?
}
gint eventDelete(GtkWidget *widget,
GdkEvent *event,gpointer data) {
return(FALSE);
}
gint eventDestroy(GtkWidget *widget,
GdkEvent *event,gpointer data) {
gtk_main_quit();
return(0);
}Спасибо!