pygtk笔记--2.2:布局管理,Table

一个计算器的样式:

例子中用到了两种布局:    

  • VBox
  • Table(和面着重介绍Table)

 

先看代码:

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:是否均匀分配每一单元格大小

table.attach(gtk.Button('Cls'),0,2,0,1)
#给table添加一个子部件,
参数1:子部件
参数2:子部件X轴开始位置
参数3:子部件X轴结束位置
参数4:子部件Y轴开始位置
参数5:子部件Y轴结束位置

#** 如果需要一个子部件占用多行,通过控制子部件的开始/结束位置即可例如Cls按钮

 

 

转载于:https://my.oschina.net/u/222523/blog/163160

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值