- 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()
以上程式碼將生成以下輸出:
廣告