“在Glade/PyGTK对话框中设置标签”“风”

2024-06-16 08:23:39 发布

您现在位置:Python中文网/ 问答频道 /正文

使用Glade快速编写一个简单的GUI,我试图创建一个通用的错误对话框,在这个对话框中,我可以将标签的文本设置为任何错误。在典型的GUI开发中非常简单(获取子表单、设置label的caption属性等)。在

不过,我似乎不知道如何控制PyGTK/Glade的标签。在

这是我的对话框的XML。。。在

<object class="GtkMessageDialog" id="dError">
    <property name="can_focus">False</property>
    <property name="border_width">5</property>
    <property name="type_hint">dialog</property>
    <property name="skip_taskbar_hint">True</property>
    <property name="message_type">error</property>
    <property name="buttons">close</property>
    <child internal-child="vbox">
      <object class="GtkVBox" id="dialog-vbox">
        <property name="visible">True</property>
        <property name="can_focus">False</property>
        <property name="spacing">2</property>
        <child internal-child="action_area">
          <object class="GtkHButtonBox" id="dialog-action_area">
            <property name="visible">True</property>
            <property name="can_focus">False</property>
            <property name="layout_style">end</property>
            <child>
              <placeholder/>
            </child>
            <child>
              <placeholder/>
            </child>
          </object>
          <packing>
            <property name="expand">False</property>
            <property name="fill">True</property>
            <property name="pack_type">end</property>
            <property name="position">0</property>
          </packing>
        </child>
        <child>
          <object class="GtkLabel" id="lblError">
            <property name="visible">True</property>
            <property name="can_focus">False</property>
          </object>
          <packing>
            <property name="expand">True</property>
            <property name="fill">True</property>
            <property name="position">2</property>
          </packing>
        </child>
      </object>
    </child>
  </object>

这是我正在尝试的相关Python代码,共尝试了2次。第一次我试图设置错误对话框的文本字段,第二次我添加了一个标签并试图首先获取和设置它。在

^{pr2}$

Tags: nameidfalsechildtrueobjecttype错误
1条回答
网友
1楼 · 发布于 2024-06-16 08:23:39

对于您提供的xml,您可以使用

dError.label.set_text("test")

您的问题是您访问的是MessageDialog,而不是标签本身。以上是一条捷径,您可以更一般地访问标签(通过与xml进行比较,可以很容易地跟踪标签的工作方式):

^{pr2}$

相关问题 更多 >