一个计算器的样式: python
例子中用到了两种布局: 布局
先看代码: 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