pygtk筆記--2.2:佈局管理,Table

一個計算器的樣式: python

例子中用到了兩種佈局:     佈局

  • VBox
  • Table(和麪着重介紹Table)

 

先看代碼: ui

import gtk
class Table(gtk.Window):
    def __init__(self):
        super(Table,self).__init__()
        self.set_position(gtk.WIN_POS_CENTER)
        self.set_title('模擬一個計算器的佈局')

        self._init_child()
        self.connect('destroy',gtk.main_quit)
        self.show_all()

    def _init_child(self):

        table=gtk.Table(5,4,True)

        table.attach(gtk.Button('Cls'),0,2,0,1)
        table.attach(gtk.Button('Bck'),2,3,0,1)
        table.attach(gtk.Button('Close'),3,4,0,1)

        table.attach(gtk.Button('1'),0,1,1,2)
        table.attach(gtk.Button('2'),1,2,1,2)
        table.attach(gtk.Button('3'),2,3,1,2)
        table.attach(gtk.Button('/'),3,4,1,2)

        table.attach(gtk.Button('4'),0,1,2,3)
        table.attach(gtk.Button('5'),1,2,2,3)
        table.attach(gtk.Button('6'),2,3,2,3)
        table.attach(gtk.Button('*'),3,4,2,3)

        table.attach(gtk.Button('7'),0,1,3,4)
        table.attach(gtk.Button('8'),1,2,3,4)
        table.attach(gtk.Button('9'),2,3,3,4)
        table.attach(gtk.Button('-'),3,4,3,4)


        table.attach(gtk.Button('0'),0,1,4,5)
        table.attach(gtk.Button('.'),1,2,4,5)
        table.attach(gtk.Button('='),2,3,4,5)
        table.attach(gtk.Button('+'),3,4,4,5)

        entry=gtk.Entry()

        vbox=gtk.VBox(False,2)
        vbox.pack_start(entry,False,False,0)
        vbox.pack_start(table)

        self.add(vbox)

if __name__=='__main__':
    Table()
    gtk.main()

說明:

table=gtk.Table(5,4,True)
#實例化一個Table
#參數1:行數
#參數2:列數
#參數3:是否均勻分配每一單元格大小 code

table.attach(gtk.Button('Cls'),0,2,0,1)
#給table添加一個子部件,
參數1:子部件
參數2:子部件X軸開始位置
參數3:子部件X軸結束位置
參數4:子部件Y軸開始位置
參數5:子部件Y軸結束位置 it

#** 若是須要一個子部件佔用多行,經過控制子部件的開始/結束位置便可例如Cls按鈕
io

相關文章
相關標籤/搜索