1. 程式人生 > >快樂Python快速上手系列9

快樂Python快速上手系列9

這裡主要講講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