相对当前值做调整
spin_button.spin(direction, increment)
direction参数如下:
SPIN_STEP_FORWARD
SPIN_STEP_BACKWARD
SPIN_PAGE_FORWARD
SPIN_PAGE_BACKWARD
SPIN_HOME
SPIN_END
SPIN_USER_DEFINED
设置Spin_button在最低和最高值范围值之间滑动
spin_button.set_wrap(wrap)
只允许输入数字
spin_button.set_numeric(numeric)
使用 SpinButton将值四舍五入为最接近step_increment后的值,snap_to_ticks为TRUE或FALSE
spin_button.set_snap_to_ticks(snap_to_ticks)
spin_button.set_update_policy(policy)
policy的值是:
UPDATE_ALWAYS,忽略错误直接转化
UPDATE_IF_VALID,如果是数字才转化
设置小数点位数
spin_button.set_digits(digits)
#!/usr/bin/env python
# example spinbutton.py
import pygtk
pygtk.require('2.0')
import gtk
class SpinButtonExample:
def toggle_snap(self, widget, spin):
spin.set_snap_to_ticks(widget.get_active())
def toggle_numeric(self, widget, spin):
spin.set_numeric(widget.get_active())
def change_digits(self, widget, spin, spin1):
spin1.set_digits(spin.get_value_as_int())
def get_value(self, widget, data, spin, spin2, label):
if data == 1:
buf = "%d" % spin.get_value_as_int()
else:
buf = "%0.*f" % (spin.get_value_as_int(),spin.get_value())
label.set_text(buf)
def __init__(self):
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.connect("destroy", lambda w: gtk.main_quit())
window.set_title("Spin Button")
main_vbox = gtk.VBox(False, 5)
main_vbox.set_border_width(10)
window.add(main_vbox)
frame = gtk.Frame("Not accelerated")
main_vbox.pack_start(frame, True, True, 0)
vbox = gtk.VBox(False, 0)
vbox.set_border_width(5)
frame.add(vbox)
# Day, month, year spinners
hbox = gtk.HBox(False, 0)
vbox.pack_start(hbox, True, True, 5)
vbox2 = gtk.VBox(False, 0)
hbox.pack_start(vbox2, True, True, 5)
label = gtk.Label("Day :")
label.set_alignment(0, 0.5)
vbox2.pack_start(label, False, True, 0)
adj = gtk.Adjustment(1.0, 1.0, 31.0, 1.0, 5.0, 0.0)
spinner = gtk.SpinButton(adj, 0, 0)
spinner.set_wrap(True)
vbox2.pack_start(spinner, False, True, 0)
vbox2 = gtk.VBox(False, 0)
hbox.pack_start(vbox2, True, True, 5)
label = gtk.Label("Month :")
label.set_alignment(0, 0.5)
vbox2.pack_start(label, False, True, 0)
adj = gtk.Adjustment(1.0, 1.0, 12.0, 1.0, 5.0, 0.0)
spinner = gtk.SpinButton(adj, 0, 0)
spinner.set_wrap(True)
vbox2.pack_start(spinner, False, True, 0)
vbox2 = gtk.VBox(False, 0)
hbox.pack_start(vbox2, True, True, 5)
label = gtk.Label("Year :")
label.set_alignment(0, 0.5)
vbox2.pack_start(label, False, True, 0)
adj = gtk.Adjustment(1998.0, 0.0, 2100.0, 1.0, 100.0, 0.0)
spinner = gtk.SpinButton(adj, 0, 0)
spinner.set_wrap(False)
spinner.set_size_request(55, -1)
vbox2.pack_start(spinner, False, True, 0)
frame = gtk.Frame("Accelerated")
main_vbox.pack_start(frame, True, True, 0)
vbox = gtk.VBox(False, 0)
vbox.set_border_width(5)
frame.add(vbox)
hbox = gtk.HBox(False, 0)
vbox.pack_start(hbox, False, True, 5)
vbox2 = gtk.VBox(False, 0)
hbox.pack_start(vbox2, True, True, 5)
label = gtk.Label("Value :")
label.set_alignment(0, 0.5)
vbox2.pack_start(label, False, True, 0)
adj = gtk.Adjustment(0.0, -10000.0, 10000.0, 0.5, 100.0, 0.0)
spinner1 = gtk.SpinButton(adj, 1.0, 2)
spinner1.set_wrap(True)
spinner1.set_size_request(100, -1)
vbox2.pack_start(spinner1, False, True, 0)
vbox2 = gtk.VBox(False, 0)
hbox.pack_start(vbox2, True, True, 5)
label = gtk.Label("Digits :")
label.set_alignment(0, 0.5)
vbox2.pack_start(label, False, True, 0)
adj = gtk.Adjustment(2, 1, 5, 1, 1, 0)
spinner2 = gtk.SpinButton(adj, 0.0, 0)
spinner2.set_wrap(True)
adj.connect("value_changed", self.change_digits, spinner2, spinner1)
vbox2.pack_start(spinner2, False, True, 0)
hbox = gtk.HBox(False, 0)
vbox.pack_start(hbox, False, True, 5)
button = gtk.CheckButton("Snap to 0.5-ticks")
button.connect("clicked", self.toggle_snap, spinner1)
vbox.pack_start(button, True, True, 0)
button.set_active(True)
button = gtk.CheckButton("Numeric only input mode")
button.connect("clicked", self.toggle_numeric, spinner1)
vbox.pack_start(button, True, True, 0)
button.set_active(True)
val_label = gtk.Label("")
hbox = gtk.HBox(False, 0)
vbox.pack_start(hbox, False, True, 5)
button = gtk.Button("Value as Int")
button.connect("clicked", self.get_value, 1, spinner1, spinner2,
val_label)
hbox.pack_start(button, True, True, 5)
button = gtk.Button("Value as Float")
button.connect("clicked", self.get_value, 2, spinner1, spinner2,
val_label)
hbox.pack_start(button, True, True, 5)
vbox.pack_start(val_label, True, True, 0)
val_label.set_text("0")
hbox = gtk.HBox(False, 0)
main_vbox.pack_start(hbox, False, True, 0)
button = gtk.Button("Close")
button.connect("clicked", lambda w: gtk.main_quit())
hbox.pack_start(button, True, True, 5)
window.show_all()
def main():
gtk.main()
return 0
if __name__ == "__main__":
SpinButtonExample()
main()
- 大小: 28.5 KB
分享到:
相关推荐
2. **编写代码**:使用C语言或其他支持GTK+的语言(如Python的PyGTK,Vala,C#的GTK#)编写应用程序。 3. **构建和链接**:使用编译器和链接器将源代码与GTK+库连接起来。 4. **调试和测试**:利用GTK+提供的调试...
为了在Python 2.7中使用GTK+,你需要确保正确配置你的环境,并且导入的模块是针对GTK+ 2.x版本的,例如`pygtk`或者`gtk`(取决于你使用的Python绑定)。 总的来说,"gtk+-bundle_2.22.1-20101229_win64"是一个全面...
python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl...
pygtk-all-in-one-2.24.0.win32-py2.7.part2
pygtk-all-in-one-2.24.0.win32-py2.7.part1.rar
标题中的"pygtk-all-in-one-2.24.1.win32-py2.7.rar"表明这是一个针对Python 2.7版本的PyGTK库的集成包,版本号为2.24.1,且是Windows 32位系统的版本。PyGTK是一个用于创建图形用户界面(GUI)的Python绑定库,它...
4. 开发者可以使用GTK+的API来创建GUI应用,例如使用Python的PyGTK绑定或C语言直接调用GTK+的库函数。 在Python环境中,使用GTK+需要相应的Python绑定,如PyGTK或PyGObject。这些绑定允许Python开发者通过Python...
带pyobject,cario\gtk+底层库,三合一
标题 "sane-pygtk.zip_pond12j_principalau1_python" 提示我们这是一个与Python相关的项目,它使用了PyGTK库来构建GUI(图形用户界面),并且可能与SANE(Scanner Access Now Easy)库集成。SANE是一个开放源代码的...
在"pygtk-examples.tar.gz"这个压缩包中,包含了一系列的PyGTK编程示例,这些例子是学习PyGTK和Python GUI编程的宝贵资源。通过这些实例,你可以了解如何利用PyGTK的各种组件和功能来构建交互式的应用程序。 1. **...
pygtk-2.17.0 参考手册英文版,由快乐叶子(http://www.yeezi.org)根据官方文档整理
官方离线安装包,亲测可用
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
2. **GTK+框架**:Python通常与多种GUI工具包结合使用,Comix可能采用了GTK+,这是一个广泛使用的跨平台GUI库,Python通过PyGTK或GTK+3的绑定(如PyGObject)与之交互,实现用户界面的创建和管理。 3. **图像处理**...
GTK+是一个广泛使用的开源GUI库,尤其在Linux环境中流行,通过PyGTK或PyGObject可以与Python结合使用。 本书可能会涵盖以下几个核心知识点: 1. **GUI基础**:介绍GUI编程的基本概念,如窗口、控件、事件处理和...
利用python语言实现图形用户界面可以使用一些简单的工具,但是如果想要学习高端的图形界面,pygtk是必不可少的
wget http://archive.ubuntu.com/ubuntu/pool/universe/p/pygtk/python-gtk2_2.24.0-5.1ubuntu2_amd64.deb dpkg -i python-gtk2_2.24.0-5.1ubuntu2_amd64.deb ``` 7. 如果安装第一个依赖时报错,可能是 libffi7 错误...
python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl...