为什么在一个GTK 3 UI文件中有多个模板定义会导致错误?

为什么在一个GTK 3 UI文件中有多个模板定义会导致错误?,gtk,gtk3,glade,Gtk,Gtk3,Glade,我正在制作一个GTK3应用程序(使用Ruby),使用Glade制作接口。我制作了一个包含两个复合模板的UI文件,如下所示: <?xml version="1.0" encoding="UTF-8"?> <!-- Generated with glade 3.22.2 --> <interface> <requires lib="gtk+" version="3.20"/&

我正在制作一个GTK3应用程序(使用Ruby),使用Glade制作接口。我制作了一个包含两个复合模板的UI文件,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.22.2 -->
<interface>
  <requires lib="gtk+" version="3.20"/>
  <template class="BillyBonesApplicationWindow" parent="GtkApplicationWindow">
    <child>
      <object class="GtkGrid">
        <!-- More code here -->
      </object>
    </child>
  </template>
  <template class="BillyBonesPayDialog" parent="GtkDialog">
    <property name="modal">True</property>
    <property name="destroy_with_parent">True</property>
    <property name="type_hint">dialog</property>
    <signal name="response" handler="gtk_widget_destroy" after="yes" swapped="yes"/>
    <child type="titlebar">
      <placeholder/>
    </child>
    <child internal-child="vbox">
      <object class="GtkBox">
        <!-- More code here -->
      </object>
    </child>
    <action-widgets>
      <action-widget response="-10">savebutton</action-widget>
      <action-widget response="-6">cancelbutton</action-widget>
    </action-widgets>
  </template>
</interface>

真的
真的
对话
保存按钮
取消按钮
但当我尝试运行我的应用程序时,出现了一个错误:

Gtk CRITICAL**:00:43:15.062:为类型为“BillyBonesApplicationWindow”的实例生成模板类“BillyBonesApplicationWindow”时出错:3:2485已解析类型为“BillyBonesPayDialog”的模板定义,预期类型为“BillyBonesApplicationWindow”

当我将两个接口定义拆分为单独的文件时,错误消失了

在GTK3中,每个UI文件只能有一个复合模板定义吗