Python tkinter 강좌 : 제 24강 – Toplevel

   

Toplevel (외부 윈도우)


Toplevel을 이용하여 다른 위젯들을 포함하는 외부 윈도우를 생성할 수 있습니다.



Toplevel 사용


import tkinter

window=tkinter.Tk()
window.title("YUN DAE HEE")
window.geometry("640x400+100+100")
window.resizable(False, False)

menubar=tkinter.Menu(window)

menu_1=tkinter.Menu(menubar, tearoff=0)
menu_1.add_command(label="하위 메뉴 1-1")
menu_1.add_command(label="하위 메뉴 1-2")
menu_1.add_separator()
menu_1.add_command(label="하위 메뉴 1-3")
menubar.add_cascade(label="상위 메뉴 1", menu=menu_1)

toplevel=tkinter.Toplevel(window, menu=menubar)
toplevel.geometry("320x200+820+100")

label=tkinter.Label(toplevel, text="YUN DAE HEE")
label.pack()

window.mainloop()


menubar=tkinter.Menu(window)

menu_1=tkinter.Menu(menubar, tearoff=0)
menu_1.add_command(label="하위 메뉴 1-1")
menu_1.add_command(label="하위 메뉴 1-2")
menu_1.add_separator()
menu_1.add_command(label="하위 메뉴 1-3")
menubar.add_cascade(label="상위 메뉴 1", menu=menu_1)

toplevel=tkinter.Toplevel(window, menu=menubar)
toplevel.geometry("320x200+820+100")

label=tkinter.Label(toplevel, text="YUN DAE HEE")
label.pack()

tkinter.Toplevel(윈도우 창, 파라미터1, 파라미터2, 파라미터3, ...)을 사용하여 해당 윈도우 창에 표시할 외부 윈도우의 속성을 설정할 수 있습니다.

파라미터를 사용하여 외부 윈도우의 속성을 설정합니다.

메인 윈도우 창에도 동일하게 적용할 수 있습니다.



Toplevel Method###


이름의미
title(“제목”)외부 윈도우 창의 제목 설정
resizable(너비, 높이)외부 윈도우 창의 너비, 높이 설정
maxsize(너비, 높이)외부 윈도우 창의 최대 너비, 최대 높이 설정
minsize(너비, 높이)외부 윈도우 창의 최소 너비, 최소 높이 설정
aspect(n1, d1, n2, d2)외부 윈도우 창의 너비, 높이 비율 제한 (n1/d1, n2/d2)
state()외부 윈도우 창의 상태 반환 (normal, iconic, withdrawn)
iconify()외부 윈도우 창을 아이콘으로 변경
withdraw()외부 윈도우 창을 화면에서 제거
deiconify()외부 윈도우 창을 복원
overrideredirect(Boolean)외부 윈도우 창의 상태 표시줄 유/무
frame()외부 윈도우 창의 고유 식별자 반환
lift()윈도우 겹침 순서를 맨 위로 이동
lower()윈도우 겹침 순서를 맨 아래로 이동
transient(윈도우)지정된 윈도우 창에 대해 임시 창으로 전환
sizefrom(컨트롤러)크기 컨트롤러 설정
positionfrom(컨트롤러)위치 컨트롤러 설정
group(윈도우)관리 그룹에 윈도우 창 추가
protocol(이름, 함수)호출될 함수를 콜백으로 등록



Toplevel Parameter


외부 윈도우 형태 설정
이름의미기본값속성
width외부 윈도우의 너비0상수
height외부 윈도우의 높이0상수
relief외부 윈도우의 테두리 모양flatflat, groove, raised, ridge, solid, sunken
borderwidth=bd외부 윈도우의 테두리 두께0상수
background=bg외부 윈도우의 배경 색상SystemButtonFacecolor
padx외부 윈도우의 테두리와 내용의 가로 여백0상수
pady외부 윈도우의 테두리와 내용의 세로 여백0상수



외부 윈도우 형식 설정
이름의미기본값속성
cursor외부 윈도우의 마우스 커서 모양-커서 속성
class_클래스 설정--
visual시각적 정보 설정--
colormap 256 색상을 지정하는 색상 맵 설정-new



외부 윈도우 하이라이트 설정
이름의미기본값속성
highlightcolor외부 윈도우가 선택되었을 때 색상SystemWindowFramecolor
highlightbackground외부 윈도우가 선택되지 않았을 때 색상SystemButtonFacecolor
highlightthickness외부 윈도우가 선택되었을 때 두께 (두께 설정)0상수



외부 윈도우 동작 설정
이름의미기본값속성
takefocusTab 키를 이용하여 위젯 이동 허용 여부FalseBoolean
container 응용 프로그램이 포함될 컨테이너로 사용FalseBoolean
menu외부 윈도우에 메뉴 부착-Menu 위젯



참고

  • 내부에 위젯이 존재할 경우, widthheight 설정을 무시하고 크기 자동 조절

  • cursor 파라미터

    • arrow, based_arrow_down, based_arrow_up, boat, bogosity, bottom_left_corner, bottom_right_corner, bottom_side, bottom_tee, box_spiral, center_ptr, circle, clock, coffee_mug, cross, cross_reverse, crosshair, diamond_cross, dot, dotbox, double_arrow, draft_large, draft_small, draped_box, exchange, fleur, gobbler, gumby, hand1, hand2, heart, icon, iron_cross, left_ptr, left_side, left_tee, leftbutton, ll_angle, lr_angle, man, middlebutton, mouse, pencil, pirate, plus, question_arrow, right_ptr, right_side, right_tee, rightbutton, rtl_logo, sailboat, sb_down_arrow, sb_h_double_arrow, sb_left_arrow, sb_right_arrow, sb_up_arrow, sb_v_double_arrow, shuttle, sizing, spider, spraycan, star, target, tcross, top_left_arrow, top_left_corner, top_right_corner, top_side, top_tee, trek, ul_angle, umbrella, ur_angle, watch, wait, xterm, X_cursor

  • highlightbackground를 설정하였을 경우, 외부 윈도우가이 선택되지 않았을 때에도 두께가 표시됨

  • containerTrue로 설정하였을 경우, 외부 윈도우의 내부에 위젯이 포함되어 있지 않아야 함


도움이 되셨다면 광고 클릭 부탁드립니다.

⤧  Next post Python tkinter 강좌 : 제 25강 – Spinbox ⤧  Previous post Python tkinter 강좌 : 제 23강 – Bind