- PyGTK 教程
- PyGTK - 首頁
- PyGTK - 簡介
- PyGTK - 環境
- PyGTK - Hello World
- PyGTK - 重要類
- PyGTK - Window 類
- PyGTK - Button 類
- PyGTK - Label 類
- PyGTK - Entry 類
- PyGTK - 訊號處理
- PyGTK - 事件處理
- PyGTK - 容器
- PyGTK - Box 類
- PyGTK - ButtonBox 類
- PyGTK - Alignment 類
- PyGTK - EventBox 類
- PyGTK - Layout 類
- PyGTK - ComboBox 類
- PyGTK - ToggleButton 類
- PyGTK - CheckButton 類
- PyGTK - RadioButton 類
- PyGTK - MenuBar、Menu 和 MenuItem
- PyGTK - Toolbar 類
- PyGTK - Adjustment 類
- PyGTK - Range 類
- PyGTK - Scale 類
- PyGTK - Scrollbar 類
- PyGTK - Dialog 類
- PyGTK - MessageDialog 類
- PyGTK - AboutDialog 類
- PyGTK - 字型選擇對話方塊
- PyGTK - 顏色選擇對話方塊
- PyGTK - 檔案選擇對話方塊
- PyGTK - Notebook 類
- PyGTK - Frame 類
- PyGTK - AspectFrame 類
- PyGTK - TreeView 類
- PyGTK - Paned 類
- PyGTK - Statusbar 類
- PyGTK - ProgressBar 類
- PyGTK - Viewport 類
- PyGTK - Scrolledwindow 類
- PyGTK - Arrow 類
- PyGTK - Image 類
- PyGTK - DrawingArea 類
- PyGTK - SpinButton 類
- PyGTK - Calendar 類
- PyGTK - Clipboard 類
- PyGTK - Ruler 類
- PyGTK - 超時
- PyGTK - 拖放
- PyGTK 有用資源
- PyGTK - 快速指南
- PyGTK - 有用資源
- PyGTK - 討論
PyGTK - AspectFrame 類
gtk.AspectFrame 類是 Frame 類的子類。即使主視窗調整大小,此框架中的子部件也會始終保持其縱橫比(寬度和高度)。
gtk.AspectFrame 小部件的 ratio 屬性確定小部件的寬度:高度比。縱橫比為 0.5 表示寬度是高度的一半;縱橫比為 2.0 表示寬度是高度的兩倍。 “ratio” 屬性的預設值為 1.0。
gtk.AspectFrame 類的建構函式使用以下語法:
gtk.AspectFrame (label = None, xalign = 0.5, yalign = 0.5, ratio = 1.0, obey_child = True)
xalign 屬性確定子部件左側水平空閒空間的比例。0.0 表示左側沒有空閒空間,1.0 表示左側的所有空閒空間。
yalign 屬性確定子部件上方的垂直空閒空間的比例。0.0 表示上方沒有空閒空間,1.0 表示上方所有空閒空間。
如果obey_child 屬性為 False,則保持框架的寬度與高度的比例。
obey_child 屬性確定是否忽略比例。預設為 True。
以下程式碼類似於 Frame 類中使用的程式碼。唯一的區別是 ButonBox 放置在 AspectFrame 小部件中。
frm = gtk.AspectFrame(label = None, xalign = 0.5, yalign = 0.5, ratio = 5.0, obey_child = False)
注意 - obey_child 屬性設定為 False,因為即使調整視窗大小也希望保留縱橫比。
示例
觀察以下程式碼:
import gtk
class PyApp(gtk.Window):
def __init__(self):
super(PyApp, self).__init__()
self.set_title("Aspect Frame Demo")
self.set_default_size(250, 200)
self.set_border_width(5)
frm = gtk.AspectFrame(label = None, xalign = 0.5, yalign = 0.5,
ratio = 5.0, obey_child = False)
hb = gtk.HButtonBox()
btn1 = gtk.RadioButton(None,"Degree")
hb.add(btn1)
btn2 = gtk.RadioButton(btn1,"P.G.")
hb.add(btn2)
btn3 = gtk.RadioButton(btn1,"Doctorate")
hb.add(btn3)
frm.add(hb)
frm.set_label("Qualifications")
self.add(frm)
self.connect("destroy", gtk.main_quit)
self.show_all()
if __name__ == '__main__':
PyApp()
gtk.main()
以上程式碼將生成以下原始和調整大小的視窗:
原始視窗
調整大小後的視窗
廣告