gtk中的lookup_widget怎么使用

上一篇 / 下一篇  2011-05-17 13:12:41 / 个人分类:个人日志

我想使用一个控件调用另一控件的值,但是不会使用lookup_widget,我看见interface。c中显示如下代码:

/*
 * DO NOT EDIT THIS FILE - it is generated by Glade.
 */

#ifdef HAVE_CONFIG_H
#  include <config.h>
#endif

#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <string.h>
#include <stdio.h>

#include <gdk/gdkkeysyms.h>
#include <gtk/gtk.h>

#include "callbacks.h"
#include "interface.h"
#include "support.h"

#define GLADE_HOOKUP_OBJECT(component,widget,name) \
  g_object_set_data_full (G_OBJECT (component), name, \
    gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)

#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
  g_object_set_data (G_OBJECT (component), name, widget)

GtkWidget*
create_window1 (void)
{
  GtkWidget *window1;
  GtkWidget *fixed1;
  GtkWidget *vbox1;
  GtkWidget *entry1;
  GtkWidget *button1;
  GtkWidget *label1;

  window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_widget_set_size_request (window1, 800, 480);
  gtk_window_set_title (GTK_WINDOW (window1), _("window1"));

  fixed1 = gtk_fixed_new ();
  gtk_widget_show (fixed1);
  gtk_container_add (GTK_CONTAINER (window1), fixed1);
  gtk_widget_set_size_request (fixed1, 800, 480);

  vbox1 = gtk_vbox_new (TRUE, 0);
  gtk_widget_show (vbox1);
  gtk_fixed_put (GTK_FIXED (fixed1), vbox1, 0, 0);
  gtk_widget_set_size_request (vbox1, 800, 480);

  entry1 = gtk_entry_new ();
  gtk_widget_show (entry1);
  gtk_box_pack_start (GTK_BOX (vbox1), entry1, FALSE, FALSE, 0);
  gtk_widget_set_size_request (entry1, 800, 30);
  gtk_entry_set_invisible_char (GTK_ENTRY (entry1), 8226);

  button1 = gtk_button_new_with_mnemonic (_("button1"));
  gtk_widget_show (button1);
  gtk_box_pack_start (GTK_BOX (vbox1), button1, FALSE, FALSE, 0);
  gtk_widget_set_size_request (button1, 800, 150);

  label1 = gtk_label_new (_("label1"));
  gtk_widget_show (label1);
  gtk_box_pack_start (GTK_BOX (vbox1), label1, FALSE, FALSE, 0);
  gtk_widget_set_size_request (label1, 800, 150);

  g_signal_connect ((gpointer) entry1, "changed",
                    G_CALLBACK (on_entry1_changed),
                    NULL);
  g_signal_connect ((gpointer) button1, "clicked",
                    G_CALLBACK (on_button1_clicked),
                    NULL);

  /* Store pointers to all widgets, for use by lookup_widget(). */
  GLADE_HOOKUP_OBJECT_NO_REF (window1, window1, "window1");
  GLADE_HOOKUP_OBJECT (window1, fixed1, "fixed1");
  GLADE_HOOKUP_OBJECT (window1, vbox1, "vbox1");
  GLADE_HOOKUP_OBJECT (window1, entry1, "entry1");
  GLADE_HOOKUP_OBJECT (window1, button1, "button1");
  GLADE_HOOKUP_OBJECT (window1, label1, "label1");

  return window1;
}

后面的/* Store pointers to all widgets, for use by lookup_widget(). */说存储了指针变量,但是如果在不同的函数里,怎样调用控件的变量指针。


相关阅读:

TAG: glade GTK gtk lookup

 

评分:0

我来说两句

Open Toolbar