PyGTK SpinButton类
SpinnButton小组件,通常被称为Spinner,是一个gtk.Entry小组件,其右侧有上下箭头。用户可以在其中直接输入一个数值,或者使用上下箭头进行递增或递减。gtk.SpinButton类是继承自gtk.Entry类。它使用一个gtk.Adjustment对象,用它可以限制旋转器中数值的范围和步长。
SpinButton widget是用下面的构造函数创建的
这里,adj代表 控制范围的gtk.Adjustment对象 , climb_rate 是一个加速因子和由数字指定的小数。
gtk.SpinButton类有以下方法—-。
- SpinButton.set_adjustment() – 这设置了 “调整 “属性。
-
SpinButton.set_digits() – 这将 “digits “属性设置为确定旋钮要显示的小数位数的值。
-
SpinButton.set_increments(step, page) – 这设置了每次按下鼠标左键都会应用增量的step值,以及每次按下鼠标中键都会应用增量的page值。
-
SpinButton.set_range() – 这设置了Spinbutton的最小和最大允许值。
-
SpinButton.set_value() – 这是通过编程将旋转按钮设置为一个新的值。
-
SpinButton.update_policy() – 有效值是gtk.UPDATE_ALWAYS和gtk.UPDATE_VALID。
-
SpinButton.spin(direction, increment=1) – 这将在指定的方向上增加或减少Spinner的值。
以下是预定义的方向常数 –
gtk.SPIN_STEP_FORWARD | 以步进方式向前递增 |
---|---|
gtk.SPIN_STEP_BACKWARD | 向后按步长递增 |
gtk.SPIN_PAGE_FORWARD | 按步长向前 |
gtk.SPIN_PAGE_BACKWARD | 向后按步长递增 |
gtk.SPIN_HOME | 移动到最小值 |
gtk.SPIN_END | 移动到最大值 |
gtk.SPIN_USER_DEFINED | 增加值的增量 |
- SpinButton.set_wrap() – 如果wrap是True,當超過範圍的上限或下限時,旋轉按鈕的值會包裹到相反的限制。
gtk.SpinButton widget會發出以下的信號 –
change-value | 当旋转按钮的值被键盘动作改变时,就会发出这个信号 |
---|---|
input | 这是在值改变时发出的。 |
output | 当旋转按钮的显示值被改变时,这将被发出。如果处理程序成功设置了文本,并且不需要进一步处理,则返回 True 。 |
value-changed | 当任何改变旋钮显示的设置被改变时,这将被发出。 |
wrapped | 在旋转按钮从其最大值到最小值或反之亦然后,立即发出此消息。 |
例子
下面的例子通过使用三个SpinButton部件构造了一个简单的 日期选择器 。日期选择器应用一个调整对象来限制1-31之间的值。第二个选择器是针对1-12个月的数量。第三个选择器选择年份范围2000-2020。
观察一下代码 –
执行后,上述代码将产生以下输出 −