我可以将图像文件加载到" GTk-glad"工具作为GUI框架来处理它?

时间:2011-03-31 05:13:46

标签: glade

我知道“GtK-glade”有许多像管理界面这样有用的样本GUI框架,有许多样本使用Glade内部工具的模板,如按钮,菜单,标签。

但是我想使用我自己的GUI框架为用户进行服装化。而我却找不到从“Glade”工具加载我自己的“图像”框架的方法。

通过什么方法,我可以让我的一个“图像”框架替换“Glade”工具的样本框架?

或者通过什么样的“GtK”glade-like工具可以完成这项工作?

我使用Ubuntu linux的c源代码。而且我找不到一个工具包来更新我原来的GUI源代码。我只发现GTK-glade可以打开它。

1 个答案:

答案 0 :(得分:2)

int
main (int argc, char *argv[])

..........

 GtkImage        *image = NULL;

 image = glade_xml_get_widget (gxml, "image1");

 gtk_image_set_from_file(image,"tux.png");

我的glade xml文件是:

    <?xml version="1.0"?>
<glade-interface>
  <!-- interface-requires gtk+ 2.6 -->
  <!-- interface-naming-policy toplevel-contextual -->
  <widget class="GtkWindow" id="window1">
    <property name="visible">True</property>
    <property name="border_width">10</property>
    <property name="title" translatable="yes">window1</property>
    <property name="default_width">800</property>
    <property name="default_height">480</property>
    <signal name="destroy" handler="on_window1_destroy"/>
    <child>
      <widget class="GtkVBox" id="vbox2">
        <property name="visible">True</property>
        <property name="spacing">2</property>
        <child>
          <widget class="GtkEntry" id="entry1">
            <property name="visible">True</property>
            <property name="can_focus">True</property>
            <property name="invisible_char">&#xE2;</property>
          </widget>
          <packing>
            <property name="expand">False</property>
            <property name="fill">False</property>
            <property name="position">0</property>
          </packing>
        </child>
        <child>
          <widget class="GtkButton" id="button1">
            <property name="label" translatable="yes">Hello</property>
            <property name="visible">True</property>
            <property name="can_focus">True</property>
            <property name="receives_default">False</property>
            <property name="use_underline">True</property>
            <signal name="clicked" handler="on_button1_clicked"/>
          </widget>
          <packing>
            <property name="expand">False</property>
            <property name="fill">False</property>
            <property name="position">1</property>
          </packing>
        </child>
        <child>
          <widget class="GtkLabel" id="label1">
            <property name="visible">True</property>
            <property name="label" translatable="yes">label</property>
          </widget>
          <packing>
            <property name="position">2</property>
          </packing>
        </child>
        <child>
          <widget class="GtkImage" id="image1">
            <property name="visible">True</property>
            <property name="stock">gtk-missing-image</property>
          </widget>
          <packing>
            <property name="position">3</property>
          </packing>
        </child>
      </widget>
    </child>
  </widget>
</glade-interface>