티스토리 뷰

카테고리 없음

Tkinter 리뷰 예제

뽀로로친구에디 2018. 8. 27. 22:25

Tkinter 리뷰 예제 

팩 관리자는 간단한 레이아웃 관리자입니다. 간단한 레이아웃 작업을 수행하는 데 사용할 수 있습니다. 더 복잡한 레이아웃을 만들려면 각각의 팩 관리자가있는 더 많은 프레임을 활용해야합니다.

from tkinter import Tk, Text, TOP, BOTH, X, N, LEFT
from tkinter.ttk import Frame, Label, Entry


class Example(Frame):
  
    def __init__(self):
        super().__init__()   
         
        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.mainloop()  


if __name__ == '__main__':
    main() 


이 예제는 여러 프레임과 팩 관리자로보다 복잡한 레이아웃을 작성하는 방법을 보여줍니다.

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)

첫 번째 두 위젯은 첫 번째 프레임에 배치됩니다. 항목은 채우기 및 확장 매개 변수로 가로로 확장됩니다.


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) 

세 번째 프레임에서 레이블과 텍스트 위젯을 배치합니다. 레이블은 북쪽에 고정되어 있습니다. 텍스트 위젯은 나머지 영역 전체를 차지합니다.

댓글
최근에 달린 댓글
글 보관함
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Total
Today
Yesterday
    뽀로로친구에디
    최근에 올라온 글