- PyGTK 教程
- PyGTK - 首页
- PyGTK - 简介
- PyGTK - 环境配置
- PyGTK - Hello World
- PyGTK - 重要类
- PyGTK - 窗口类 (Window Class)
- PyGTK - 按钮类 (Button Class)
- PyGTK - 标签类 (Label Class)
- PyGTK - 输入框类 (Entry Class)
- PyGTK - 信号处理
- PyGTK - 事件处理
- PyGTK - 容器
- PyGTK - 箱式容器类 (Box Class)
- PyGTK - 按钮盒类 (ButtonBox Class)
- PyGTK - 对齐类 (Alignment Class)
- PyGTK - 事件框类 (EventBox Class)
- PyGTK - 布局类 (Layout Class)
- PyGTK - 组合框类 (ComboBox Class)
- PyGTK - 切换按钮类 (ToggleButton Class)
- PyGTK - 复选框类 (CheckButton Class)
- PyGTK - 单选按钮类 (RadioButton Class)
- PyGTK - 菜单栏、菜单和菜单项 (MenuBar, Menu & MenuItem)
- PyGTK - 工具栏类 (Toolbar Class)
- PyGTK - 调整器类 (Adjustment Class)
- PyGTK - 范围类 (Range Class)
- PyGTK - 刻度类 (Scale Class)
- PyGTK - 滚动条类 (Scrollbar Class)
- PyGTK - 对话框类 (Dialog Class)
- PyGTK - 消息对话框类 (MessageDialog Class)
- PyGTK - 关于对话框类 (AboutDialog Class)
- PyGTK - 字体选择对话框
- PyGTK - 颜色选择对话框
- PyGTK - 文件选择对话框
- PyGTK - 笔记本类 (Notebook Class)
- PyGTK - 框架类 (Frame Class)
- PyGTK - 带比例的框架类 (AspectFrame Class)
- PyGTK - 树状视图类 (TreeView Class)
- PyGTK - 分隔窗格类 (Paned Class)
- PyGTK - 状态栏类 (Statusbar Class)
- PyGTK - 进度条类 (ProgressBar Class)
- PyGTK - 视口类 (Viewport Class)
- PyGTK - 滚动窗口类 (Scrolledwindow Class)
- PyGTK - 箭头类
- PyGTK - 图片类 (Image Class)
- PyGTK - 绘图区类 (DrawingArea Class)
- PyGTK - 旋转按钮类 (SpinButton Class)
- PyGTK - 日历类 (Calendar Class)
- PyGTK - 剪贴板类 (Clipboard Class)
- PyGTK - 标尺类 (Ruler Class)
- PyGTK - 超时 (Timeout)
- PyGTK - 拖放 (Drag and Drop)
- PyGTK - 有用资源
- PyGTK - 快速指南
- PyGTK - 有用资源
- PyGTK - 讨论
PyGTK - 箭头类
gtk.Arrow 对象用于绘制指向四个主要方向的简单箭头。此类继承自gtk.Misc类,该对象将占用分配给它的任何空间,例如 Label 或 Button 小部件。
通常,使用以下构造函数创建 Arrow 对象:
Arr = gtk.Arrow(arrow_type, shadow_type)
预定义的 arrow_type 常量为:
- gtk.ARROW_UP
- gtk.ARROW_DOWN
- gtk.ARROW_LEFT
- gtk.ARROW_RIGHT
预定义的 shadow_type 常量列在以下表格中:
| gtk.SHADOW_NONE | 无轮廓。 |
| gtk.SHADOW_IN | 轮廓内凹。 |
| gtk.SHADOW_OUT | 轮廓外凸,像按钮一样。 |
| gtk.SHADOW_ETCHED_IN | 轮廓本身是内凹的,但框架外凸。 |
| gtk.SHADOW_ETCHED_OUT | 轮廓外凸,框架内凹。 |
示例
在以下示例中,四个 Button 小部件被添加到一个 Hbox 中。在每个按钮的顶部,放置一个分别指向向上、向下、向左和向右的 gtk.Arrow 对象。借助 Alignment 容器,HBOX 容器放置在顶级窗口的底部。
观察代码:
import gtk
class PyApp(gtk.Window):
def __init__(self):
super(PyApp, self).__init__()
self.set_title("Arrow Demo")
self.set_size_request(300, 200)
self.set_position(gtk.WIN_POS_CENTER)
vbox = gtk.VBox(False, 5)
hbox = gtk.HBox(True, 3)
valign = gtk.Alignment(0, 1, 0, 0)
vbox.pack_start(valign)
arr1 = gtk.Arrow(gtk.ARROW_UP, gtk.SHADOW_NONE)
arr2 = gtk.Arrow(gtk.ARROW_DOWN, gtk.SHADOW_NONE)
arr3 = gtk.Arrow(gtk.ARROW_LEFT, gtk.SHADOW_NONE)
arr4 = gtk.Arrow(gtk.ARROW_RIGHT, gtk.SHADOW_NONE)
btn1 = gtk.Button()
btn1.add(arr1)
btn2 = gtk.Button()
btn2.add(arr2)
btn3 = gtk.Button()
btn3.add(arr3)
btn4 = gtk.Button()
btn4.add(arr4)
hbox.add(btn1)
hbox.add(btn2)
hbox.add(btn3)
hbox.add(btn4)
halign = gtk.Alignment(0.5, 0.5, 0, 0)
halign.add(hbox)
vbox.pack_start(halign, False, True, 10)
self.add(vbox)
self.connect("destroy", gtk.main_quit)
self.show_all()
PyApp()
gtk.main()
以上代码将生成以下输出:
广告