快乐Python快速上手系列9 - 界面Tkinter编程

这里主要讲讲layout的问题,一般都知道,一是pack,另一个是grid,但是有时候运行时得到的结果并不是自己设计的,这里记录下学习的过程。

1. pack
pack在对齐时, 有LEFT, BOTTOM, RIGHT, TOP,这是对当前的frame说的,如果控件多了,就得增加sub frame来更精细的控制,给个例子。
from Tkinter import *





class Example(Frame):



    def __init__(self, master = None):

        Frame.__init__(self, master)



        self.initUI()





    def initUI(self):



        self.master.title("Review")

        self.pack(fill=BOTH, expand=True)



        frame1 = Frame(self)

        frame1.pack(fill=X)



        lbl1 = Label(frame1, text="Title", width=6)

        lbl1.pack(side=LEFT, padx=5, pady=5)



        entry1 = Entry(frame1)

        entry1.pack(fill=X, padx=5, expand=True)



        frame2 = Frame(self)

        frame2.pack(fill=X)



        lbl2 = Label(frame2, text="Author", width=6)

        lbl2.pack(side=LEFT, padx=5, pady=5)



        entry2 = Entry(frame2)

        entry2.pack(fill=X, padx=5, expand=True)



        frame3 = Frame(self)

        frame3.pack(fill=BOTH, expand=True)



        lbl3 = Label(frame3, text="Review", width=6)

        lbl3.pack(side=LEFT, anchor=N, padx=5, pady=5)



        txt = Text(frame3)

        txt.pack(fill=BOTH, pady=5, padx=5, expand=True)





def main():



    root = Tk()

    root.geometry("300x300+300+300")

    app = Example(root)

    root.mainloop()



if __name__ == '__main__':

    main()

    pass

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值