Python tkinter 강좌 : 제 4강 – Entry

   

Entry (기입창)


Entry을 이용하여 텍스트를 입력받거나 출력하기 위한 기입창을 생성할 수 있습니다



Entry 사용


import tkinter
from math import*

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

def calc(event):
    label.config(text="결과="+str(eval(entry.get())))

entry=tkinter.Entry(window)
entry.bind("<Return>", calc)
entry.pack()

label=tkinter.Label(window)
label.pack()

window.mainloop()


def calc(event):
    label.config(text="결과="+str(eval(entry.get())))

entry=tkinter.Entry(window)
entry.bind("<Return>", calc)
entry.pack()

label=tkinter.Label(window)
label.pack()

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

파라미터를 사용하여 기입창의 속성을 설정합니다.

Entry.bind()를 이용하여 keymouse 등의 event를 처리하여 메소드함수를 실행시킬 수 있습니다.

기입창에 간단한 수학함수 등을 작성 후 Enter 키를 입력시, 라벨에 결과가 표시됩니다.


  • Tip : 4+4*cos(0.5)을 입력시 결과=7.51033...이 반환됩니다.



Entry Method###


이름의미
insert(index, “문자열”)index 위치에 문자열 추가
delete(start_index, end_index)start_index부터 end_index까지의 문자열 삭제
get()기입창의 텍스트를 문자열로 반환
index(index)index에 대응하는 위치 획득
icursor(index)index 앞에 키보드 커서 설정
select_adjust(index)index 위치까지의 문자열을 블록처리
select_range(start_index, end_index)start_index부터 end_index까지 블록처리
select_to(index)키보드 커서부터 index까지 블록처리
select_from(index)키보드 커서의 색인 위치를 index 위치에 문자로 설정하고 선택
select_present()블록처리 되어있는 경우 True, 아닐 경우 False
select_clear()블록처리 해제
xview()가로스크롤 연결
        xview_scroll(num, str)                              가로스크롤의 속성 설정            


  • xview_scroll

    • num
      • num > 0 : 왼쪽에서 오른쪽으로 스크롤
      • num < 0 : 오른쪽에서 왼쪽으로 스크롤
    • str
      • units : 문자 너비로 스크롤
      • pages : 위젯 너비로 스크롤



Entry Parameter


기입창 문자열 설정
이름의미기본값속성
show기입창에 표시되는 문자-문자
textvariable기입창에 표시할 문자열을 가져올 변수--
justify기입창의 문자열이 여러 줄 일 경우 정렬 방법centercenter, left, right



기입창 형태 설정
이름의미기본값속성
width기입창의 너비0상수
relief기입창의 테두리 모양flatflat, groove, raised, ridge, solid, sunken
borderwidth=bd기입창의 테두리 두께2상수
background=bg기입창의 배경 색상SystemButtonFacecolor
foreground=fg기입창의 문자열 색상SystemButtonFacecolor
insertwidth기입창의 키보드 커서 너비2상수
insertborderwidth기입창의 키보드 커서 테두리 두께0상수
insertbackground기입창의 키보드 커서 색상SystemWindowTextcolor
selectborderwidth기입창의 문자열 블록처리 테두리 두께0상수
selectbackground기입창의 문자열 블록처리 배경 색상SystemHighlightcolor
selectforeground기입창의 문자열 블록처리 문자열 색상SystemHighlightcolor



기입창 형식 설정
이름의미기본값속성
font기입창의 문자열 글꼴 설정TkDefaultFontfont
cursor기입창의 마우스 커서 모양-커서 속성
xscrollcommand기입창의 가로스크롤 위젯 적용-Scrollbar위젯.set



기입창 상태 설정
이름의미기본값속성
state상태 설정normalnormal, readonly, disabled
readonlybackgroundreadonly 상태일 때 기입창의 배경 색상SystemButtonFacecolor
disabledbackgrounddisabeld 상태일 때 기입창의 배경 색상SystemButtonFacecolor
disabledforegrounddisabeld 상태일 때 기입창의 문자열 색상SystemDisabledTextcolor



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



기입창 동작 설정
이름의미기본값속성
takefocusTab 키를 이용하여 위젯 이동 허용 여부TrueBoolean
insertontime기입창의 키보드 커서 깜빡임이 보이는 시간600상수(ms)
insertofftime기입창의 키보드 커서 깜빡임이 보이지 않는 시간300상수(ms)



참고

  • * 입력 시, 입력되는 모든 문자는 * 처리되어 표시됨

  • 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

  • 기본 설정은 normal 상태의 설정을 의미함 (bg, fg 등의 설정)

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


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

⤧  Next post Python tkinter 강좌 : 제 5강 – Listbox ⤧  Previous post Python tkinter 강좌 : 제 3강 – Button