250x250
250x250
  • 분류 전체보기 (48)
    • Save Your TIME (1)
      • WORK SMART - RPA (0)
      • 비 전공 직장인의 업무 자동화 고군분투기 (1)
    • Make a lot of MONEY (0)
      • 부동산 (0)
    • PYTHON (45)
      • BASIC (3)
      • pandas (3)
      • tkinter (8)
      • LIBRARY | ETC (1)
      • Tips (19)
      • Error Solutions (11)
    • EXCEL (0)
      • BASIC (0)
      • TIP (0)
    • Life & Education (2)
      • 초등 수학 (2)
      • English (0)
    • TISTORY (0)
      • ABOUT BLOG (0)
      • TIP (0)
    • Reference (0)
hELLO · Designed By 정상우.
Creatio ex nihilo

Py Life

(Python Tkinter) Chapter 7. Entry ( 엔트리 )
PYTHON/tkinter

(Python Tkinter) Chapter 7. Entry ( 엔트리 )

2022. 9. 14. 15:22
728x90
반응형

"Life is too short, You need python"

엔트리 위젯은 한 줄의 텍스트를 입력하거나 표시하는데 사용되는 위젯으로 우리에게는 사이트 로그인 시 입력하는 ID/Password 입력창, 회원 가입 시 정보를 입력하게 되는 한 줄의 입력창으로 더 친숙한 위젯입니다. 이 번 포스팅에서는 엔트리 위젯을 사용하는 방법과 옵션에 대해 알아보도록 하겠습니다.

 


 

Entry ( 엔트리 / 기입창 )

 

 

 

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

로그인 창

 


 

Syntax ( 구문 )

 

Entry 위젯을 사용하려면 다음과 같이 구문을 사용합니다.

 

entry = tk.Entry(container, **options)

  • container - parent window

 

아래는 Entry 설명을 위한 Skeleton Code 입니다.

 

( Input )

 

import tkinter as tk
from tkinter import ttk

root = tk.Tk()
root.geometry('300x150')
root.resizable(False, False)
root.title('Label Widget Demo')

# show the widget syntax here
entry = tk.Entry(root)
entry.pack()

root.mainloop()

 

( Output )

 


 

Method & Option Parameters

 

Entry 위젯에는 모양을 사용자 정의할 수 있는 많은 옵션이 있습니다.

 

Entry Method

 

Method는 Entry변수.Method 형식으로 사용할 수 있습니다.

ex) entry_login.index()

 

Name Meaning
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

 

- 문자열 설정 -

Name Meaning Default Preference
show 표시되는 문자의 형태 - 문자***
textvariable 표시할 문자열을 가져올 변수 - -
justify 문자열이 여러 줄 일 경우 정렬 방법 center center, left, right

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

 

- Widget Format -

Name Meaning Default Preference
width 너비 0 상수
relief 테두리 모양 flat flat, groove, raised, ridge,
solid, sunken
borderwidth=bd 테두리 두께 2 상수
background=bg 배경 색상 SystemButtonFace color
foreground=fg 문자열 색상 SystemButtonFace color
insertwidth 키보드 커서 너비 2 상수
insertborderwidth 키보드 커서 테두리 두께 0 상수
insertbackground 키보드 커서 색상 SystemWindowText color
selectborderwidth 문자열 블록처리 테두리 두께 0 상수
selectbackground 문자열 블록처리 배경 색상 SystemHighlight color
selectforeground 문자열 블록처리 문자열 색상 SystemHighlight color

 

 

- 기입창 형식 설정 -

Name Meaning Default Preference
font 기입창의 문자열 글꼴 설정 TkDefaultFont font
cursor 기입창의 마우스 커서 모양 - 커서 속성***
xscrollcommand 기입창의 가로스크롤 위젯 적용 - Scrollbar위젯.set

*** 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

 

 

- Widget State -

Name Meaning Default Preference
state 상태 설정 normal normal***, readonly, disabled
readonlybackground readonly 상태일 때 기입창의 배경 색상 SystemButtonFace color
disabledbackground disabeld 상태일 때 기입창의 배경 색상 SystemButtonFace color
disabledforeground disabeld 상태일 때 기입창의 문자열 색상 SystemDisabledText color

*** 기본 설정은 normal 상태의 설정을 의미합니다. (bg, fg 등의 설정)

 

 

- Highlight Options -

Name Meaning Default Preference
highlightcolor 위젯이 선택되었을 때 색상 SystemWindowFrame color
highlightbackground 위젯이 선택되지 않았을 때 색상 SystemButtonFace color
highlightthickness 위젯 선택 시 테두리 두께*** 0 상수

*** highlightbackground를 설정하였을 경우, 버튼이 선택되지 않았을 때에도 두께가 표시됩니다.

 

- 엔트리 동작 설정 -

Name Meaning Default Preference
takefocus Tab 키를 이용하여 위젯 이동 허용 여부 True Boolean
insertontime 키보드 커서 깜빡임이 보이는 시간 600 상수(ms)
insertofftime 기입창의 키보드 커서 깜빡임이 보이지 않는 시간 300 상수(ms)

 

 


 

Entry의 활용

 

 

 

( Input )

 

import tkinter as tk
from tkinter import ttk

root = tk.Tk()
root.geometry('300x150')
root.resizable(False, False)
root.title('Py-Life Widget Demo')

# show the widget syntax here >>>

## Create Label Widget
label_name = tk.Label(root, text = 'Username ', font = ('calibre', 10, 'bold'))
label_password = tk.Label(root, text = 'Password ', font = ('calibre', 10, 'bold'))

## Create Entry Widget
name_var=tk.StringVar()
passw_var=tk.StringVar()
entry_name = tk.Entry(root, textvariable = name_var, font = ('calibre', 10, 'normal'))
endtry_password = tk.Entry(root, textvariable = passw_var, font = ('calibre', 10, 'normal'), show = '*')  

## Create Button Widget
button_login = tk.Button(root, text = 'Summit', bg = 'yellow', fg = 'red')

## Option Setting
button_login.config(width = 10, height = 2)
button_login.config(text = 'Button 1')

## Place the Label
label_name.grid(row = 0, column = 0)
label_password.grid(row = 1, column = 0)

## Place the Entry
entry_name.grid(row = 0, column = 1)
endtry_password.grid(row = 1, column = 1)

## Place the Button
button_login.grid(row = 3, column = 1)

root.mainloop()

 

( Output )

 

로그인 창

 


 

마무리

 

Tkinter Entry 위젯의 사용법과 다양한 활용 방법에 대해 알아보았습니다. Chapter 8에서는 Listbox의 사용법과 다양한 활용 방법에 대해 알아보도록 하겠습니다.

 

 

 

 

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'PYTHON > tkinter' 카테고리의 다른 글

(Tkinter - Basic) Chapter 8. Frame (프레임)  (0) 2022.09.16
(Python Tkinter) Chapter 6. Button ( 버튼 )  (0) 2022.09.13
(Python Tkinter) Chapter 5. Label ( 레이블 )  (0) 2022.09.08
(Python Tkinter) Chapter 4. place - Geometry(Layout) Managers  (0) 2022.07.28
(Python Tkinter) Chapter 3. grid - Geometry(Layout) Managers  (0) 2022.07.28
    Creatio ex nihilo
    Creatio ex nihilo
    "Life is too short, You need python"

    티스토리툴바