复选框在使用glade的python GTK中处于活动状态和非活动状态

时间:2015-03-04 11:21:52

标签: python gtk pygtk glade

我想编写以下图片的代码:

enter image description here

我想告诉tick是否为true能够进入用户并且如果Login的勾选为false则无法进入用户并通过。这是xml林间空地文件:

<?xml version="1.0" encoding="UTF-8"?>
<interface>
  <!-- interface-requires gtk+ 3.0 -->
  <object class="GtkWindow" id="window1">
    <property name="can_focus">False</property>
    <child>
      <object class="GtkLayout" id="layout1">
        <property name="visible">True</property>
        <property name="can_focus">False</property>
        <child>
          <object class="GtkCheckButton" id="checkbutton1">
            <property name="label" translatable="yes">Login</property>
            <property name="use_action_appearance">False</property>
            <property name="width_request">150</property>
            <property name="height_request">30</property>
            <property name="visible">True</property>
            <property name="can_focus">True</property>
            <property name="receives_default">False</property>
            <property name="use_action_appearance">False</property>
            <property name="xalign">0</property>
            <property name="draw_indicator">True</property>
          </object>
          <packing>
            <property name="x">10</property>
            <property name="y">10</property>
          </packing>
        </child>
        <child>
          <object class="GtkEntry" id="entry1">
            <property name="width_request">150</property>
            <property name="height_request">30</property>
            <property name="visible">True</property>
            <property name="can_focus">True</property>
            <property name="invisible_char">●</property>
            <property name="placeholder_text">Username</property>
          </object>
          <packing>
            <property name="x">10</property>
            <property name="y">40</property>
          </packing>
        </child>
        <child>
          <object class="GtkEntry" id="entry2">
            <property name="width_request">150</property>
            <property name="height_request">30</property>
            <property name="visible">True</property>
            <property name="can_focus">True</property>
            <property name="invisible_char">●</property>
            <property name="placeholder_text">Password</property>
          </object>
          <packing>
            <property name="x">170</property>
            <property name="y">40</property>
          </packing>
        </child>
      </object>
    </child>
  </object>
</interface>

1 个答案:

答案 0 :(得分:0)

您需要将回调连接到Login CheckButton,通过调用它们上的小部件set_sensitive(sensitive)方法来切换两个Entry小部件的灵敏度。

来自GTK2 docs

  

def set_sensitive(sensitive)

     

敏感:如果为True,则使小部件敏感

     

set_sensitive()方法设置窗口小部件的“敏感”属性   到敏感指定的值。如果敏感为True,则为小部件   将是敏感的,用户可以与之交互。麻木不仁   窗口小部件显示为“灰显”,用户无法与其进行交互。   不敏感的小部件被称为“非活动”,“禁用”或“幻影”   在其他一些工具包中。

如果有帮助,我可以在GTK2中发布一个小例子。