Re: Newbie Question: Changing a Label
- From: "Jim George" <jimgeorge gmail com>
- To: "Brian Hartman" <bhartman36 gmail com>
- Cc: gtk-app-devel-list gnome org
- Subject: Re: Newbie Question: Changing a Label
- Date: Tue, 11 Sep 2007 17:38:28 -0600
On 9/11/07, Brian Hartman <bhartman36 gmail com> wrote:
Hi Everyone.
I'm trying to write a simple program that changes a label when a button is
clicked. The program compiles and runs, but there's no label change.
Here's what I have in my callbacks.c:
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <gtk/gtk.h>
#include "callbacks.h"
#include "interface.h"
#include "support.h"
void
on_window1_destroy (GtkObject *object,
gpointer user_data)
{
gtk_exit(0);
}
void
on_button2_clicked (GtkButton *button,
gpointer user_data)
{
gtk_exit(0);
}
void
on_button1_clicked (GtkButton *button,
gpointer user_data)
{
GtkWidget* window1;
GtkWidget* window2;
GtkWidget* label1;
gtk_label_set_text((label1),"Hi!");
}
Like I said, this runs w/o any compile errors, but when I run it in the
terminal, I see the following:
Gtk-CRITICAL **: gtk_label_set_text: assertion `GTK_IS_LABEL (label)' failed
So something went wrong. Can anyone help me out here?
I don't see any statement between these two lines that actually
initializes label1 to point to a widget:
GtkWidget* label1;
gtk_label_set_text((label1),"Hi!");
For some examples of how to write something similar, please look at
the gtk-demo program that should be on your box as a part of your gtk
install.
You reference "callbacks.c", hinting that you're using glade with code
generation - don't do that, it's deprecated.
Also, when you compile, it sometimes helps to have the -Wall flag
(enable all warnings), so you can catch problems like this (with
-Wall, gcc will tell you that you are attempting to use label1 without
initializing it).
-Jim
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]