ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • tkinter - Text
    Python 2021. 4. 1. 00:28
    728x90

    Text을 이용하여 여러 줄의 문자열을 입출력하는 위젯

     

    Text 사용


    from tkinter import *
    
    win = Tk()
    
    text = Text(win)
    text.insert("current", "안하세요.")
    text.insert(2.1, "녕")
    text.pack()
    
    text.tag_add("강조", "1.0", "1.6")
    text.tag_config("강조", background="yellow")
    text.tag_remove("강조", "1.1", "1.2")
    
    win.mainloop()

     

    Text Method


      기능 설명
    insert(index, "문자열") 문자열 삽입 index 위치에 문자열 삽입
    delete(start_index, end_index) 문자열 삭제 start_index 부터 end_index 까지 문자열 삭제
    get(start_index, end_index) 문자열 반환 start_index 부터 end_index 까지 문자열 반환
    index(index) 인덱스 반환 index가 음수 일 경우, 1.0으로 반환
    see(index) 문자열 표시 반환 index 위치에 텍스트가 표시되면 True 반환
    mark_set(mark, index) 마크 위치 설정 해당 마크 위치 재설정
    mark_unset(mark) 마크 위치 제거 해당 마크의 표시 제거
    mark_gravity(mark, gravity) 키보드 커서 삽입 위치 변경 해당 마크 사용 시, 좌측 삽입 또는 우측 삽입으로 변경
    index(mark) 마크 위치 반환 해당 마크 위치 반환
    mark_names() 모든 마크 반환 텍스트에서 사용된 모든 마크를 반환
    tag_add(tagname, start_index, end_index) 태그 생성 start_index 부터 end_index 까지 tagname을 생성
    tag_remove(tagname, start_index, end_index) 태그 제거 start_index 부터 end_index 까지 tagname을 제거
    tag_delete(tagname) 태그 삭제 tagname 의 설정 및 선언 삭제
    tag_config(tagname, param1, param2, ...) 태그 부착 tagname 범위 만큼 속성 설정
    • index는 x.y를 사용, x 줄 y 번째 문자
      • 예) 1.0 = 첫 번째 줄, 첫 번째 문자, 2.4 = 2번째 줄, 4번쨰 문자
    • gravity 는 left(좌측 삽입)와 right(우측 삽입) 사용, 기본값은 right

     

    텍스트 마크

      문자열 의미
      x.y x 번째 줄, y 번째 문자
      1.0 첫 번째 줄, 첫 번째 문자
      x.end x 번째 줄 마지막 문자
    INSERT insert 삽입 커서의 위치
    CURRENT current 마우스 포인터에 가장 가까운 문자의 위치
    END end 텍스트의 마지막 문자 위치
    SEL_FIRST sel.first 블록처리 되었을 때의 앞 부분
    SEL_LAST sel.last 블록처리 되었을 때의 뒷 부분
      [마크] linestart 마크에서 앞의 행
      [마크] lineend 마크에서 뒤의 행
      [마크] wordstart 마크에서 단어의 앞
    • 3.5 wordstart 로 마크를 사용할 경우, 3번째 줄, 5번째에 포함된 단어 앞 부분으로 설정

    Text Parameter


    텍스트 매개 변수

      의미 기본값 속성
    wrap 줄 바꿈 여부 char none, char, word
    tabs 텍스트의 Tab 간격 56 상수
    tabstyle 텍스트의 Tab 간격 형식 tabular tabular, wordprocessor
    startline 텍스트의 데이터 저장소에 저장될 시작 줄 시작 줄 상수
    endline 텍스트의 데이터 저장소에 저장될 마지막 줄 마지막 줄 상수
    spacing1 텍스트의 상단 수직 간격 0 상수
    spacing2 텍스트의 줄과 줄 사이 간격 0 상수
    spacing3 텍스트의 하단 수직 간격 0 상수
    • wrap
      • none : 줄 바꿈 하지 않음
      • char : 글자 단위로 줄 바꿈
      • word : 단어 단위로 줄 바꿈
    • wordprocessor 로 사용할 경우, 워드프로세서 기준 표준 간격으로 사용

    텍스트 형태 설정

      의미 기본값 속성
    width 텍스트의 너비 80 상수
    height 텍스트의 높이 24 상수
    relief 텍스트의 테두리 모양 flat flat,
    groove,
    raised,
    ridge,
    solid,
    sunken
    borderwidth = bd 텍스트의 테두리 두께 1 상수
    background = bg 텍스트의 배경 색상 SystemButtonFace color
    foreground = fg 텍스트의 문자열 색상 SystemButtonFace color
    insertwidth 텍스트의 키보드 커서 너비 2 상수
    insertborderwidth 텍스트의 키보드 커서 테두리 두께 0 상수
    insertbackground 텍스트의 키보드 커서 색상 SystemWindowText color
    selectborderwidth 텍스트의 문자열 블록처리 테두리 두께 0 상수
    selectbackground 텍스트의 문자열 블록처리 배경 색상 SystemHighlightText color
    selectforeground 텍스트의 문자열 블록처리 문자열 색상 SystemHighlightText color
    inactiveselectbackground 텍스트의 문자열 블록처리 중 다른 위젯 선택시 블록처리 배경 색상   color
    padx 텍스트의 테두리와 내용의 가로 여백 1 상수
    pady 텍스트의 테두리와 내용의 세로 여백 1 상수

     

    텍스트 형식 설정

      내용 기본값 속성
    font 텍스트의 무자열 글꼴 설정 TkDefaultFont font
    cursor 텍스트의 마우스 커서 모양   커서 속성
    xscrollcommand 텍스트의 가로스크롤 객체 적용   Scrollbar위젯.set
    yscrollcommand 텍스트의 세로스크롤 객체 적용   Scrollbar위젯.set
    exportselection 텍스트의 선택 항목 여부 설정 True Boolean
    setgrid 텍스트의 격자 크기 조정 설정 False Boolean
    • 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

     

     

     

     

    텍스트 상태 설정

    state 상태 설정 normal normal, disabled

     

    텍스트 하이라이트 설정

      의미 기본값 속성
    highlightcolor 텍스트가 선택되었을 때 색상 SystemWindowFrame color
    highlightbackground 텍스트가 선택되지 않았을 때 색상 SystemButtonFace color
    highlightthickness 텍스트가 선택되었을 때 두께 0 상수
    • highlightbackground 를 설정하면 텍스트가 선택되지 않았을 때도 두께가 표시됨

    텍스트 동작 설정

      의미 기본값 속성
    takefocus Tab 키를 이용하여  위젯 이동 허용 여부 False Boolean
    blockcursor 텍스트의 키보드 커서를 블록으로 사용 False Boolean
    undo 텍스트의 실행 취소 사용 여부,
    Ctrl + z 실행 취소
    Ctrl + y 다시 실행
    False Boolean
    maxundo 텍스트의 실행 취소 최대 횟수   상수
    autoseparators 텍스트의 실행 취소 자동 저장 여부 True Boolean

     

     

    참조:076923.github.io/posts/Python-tkinter-18/#reference-6

    반응형

    'Python' 카테고리의 다른 글

    Python 예외 처리  (0) 2021.04.05
    Python 파일 입출력  (0) 2021.04.05
    Python으로 Window 제어하기 (PyWinAuto)  (0) 2021.04.05
    tkinter - Text 내용 전부 삭제  (1) 2021.04.01

    댓글

Designed by Tistory.