본문 바로가기
  • You find inspiration to create your own path !
업무 자동화/python & CAD

Python CustomTkinter #4 How To Create A Textbox

by ToolBOX01 2025. 8. 25.
반응형

텍스트 상자 위젯 기능

CustomTkinter의 텍스트 상자 위젯을 사용하면 사용자가 텍스트를 입력하고 표시할 수 있습니다. 텍스트 삭제, 복사, 붙여넣기와 같은 기본 작업을 지원합니다. 이러한 기능은 각 작업에 대해 별도의 메서드를 정의하여 구현되며, 이 메서드는 텍스트 상자 위젯의 내부 메서드인 `delete`, `get`, `insert`와 상호 작용합니다.

텍스트 상자 위젯 사용자 정의

텍스트 상자 위젯의 모양을 광범위하게 사용자 정의할 수 있습니다. 사용자는 크기(너비 및 높이), `corner_radius`를 통해 둥근 정도를 조정하고, `border_width` 및 `border_color`를 사용하여 테두리를 추가할 수 있습니다. 또한 `border_spacing`을 사용하여 테두리 간격을 제어하고, 색상, 글꼴, 줄 바꿈 동작(`wrap`)과 같은 텍스트 속성을 수정할 수 있습니다.

스크롤바 및 고급 설정

텍스트 상자 위젯은 콘텐츠가 표시 영역을 초과하면 자동으로 스크롤바를 포함하며, `activate_scrollbar`를 사용하여 스크롤바를 활성화하거나 비활성화할 수 있습니다. 스크롤바 버튼의 모양, 색상 및 호버 색상도 사용자 정의가 가능하여 위젯의 시각적 표현을 더욱 세부적으로 제어할 수 있습니다.

 

 

CTkTextbox | CustomTkinter

The CTkTextbox class creates a textbox, which is scrollable in vertical and horizontal direction (with wrap='none'). The insert, get

customtkinter.tomschimansky.com

 

 


예제 1 :

텍스트박스를 생성하고, 버튼을 클릭하여 텍스트박스의 내용을 가져오거나 수정하는 기능을 포함합니다.

 

  • 프로그램 실행 시 텍스트박스에 "여기에 텍스트를 입력하세요!"가 표시됩니다.
  • 사용자가 텍스트박스에 자유롭게 텍스트를 입력할 수 있습니다.
  • 버튼을 클릭하면 텍스트박스의 내용이 "텍스트가 변경되었습니다!"로 바뀌거나 원래 텍스트로 복원됩니다.

 

import customtkinter as ctk

# 루트 창 생성
root = ctk.CTk()

# 텍스트박스 생성
textbox = ctk.CTkTextbox(
    master=root,
    width=300,
    height=100,
    font=("Arial", 14)
)
textbox.pack(pady=20)

# 초기 텍스트 삽입
textbox.insert("1.0", "여기에 텍스트를 입력하세요!")

# 텍스트 가져오기 및 변경 함수
def handle_text():
    current_text = textbox.get("1.0", "end-1c")  # 텍스트 가져오기
    if current_text == "여기에 텍스트를 입력하세요!":
        textbox.delete("1.0", "end")  # 기존 텍스트 삭제
        textbox.insert("1.0", "텍스트가 변경되었습니다!")  # 새 텍스트 삽입
    else:
        textbox.delete("1.0", "end")
        textbox.insert("1.0", "여기에 텍스트를 입력하세요!")

# 버튼 생성
button = ctk.CTkButton(
    master=root,
    text="텍스트 변경",
    command=handle_text
)
button.pack(pady=10)

# 메인 루프 실행
root.mainloop()

 

 

모서리 라운드

textbox = ctk.CTkTextbox(
    master=root,
    width=300,
    height=100,
    font=("Arial", 14),
    corner_radius=5  # 모서리 둥글기 설정
)
textbox.pack(pady=20)
 
텍스트박스 생성 (배경: 검정, 폰트 색상: 흰색, corner_radius=5)
# 텍스트박스 생성 (배경: 검정, 폰트 색상: 흰색, corner_radius=5)
textbox = ctk.CTkTextbox(
    master=root,
    width=300,
    height=100,
    font=("Arial", 14),
    fg_color="black",  # 배경 색상: 검정
    text_color="white",  # 폰트 색상: 흰색
    corner_radius=5  # 모서리 둥글기
)
textbox.pack(pady=20)

 

Text Box style

 

Style and Use Entry Box in tkinter and TextBox in tkinter

Entry Box in Tkinter, Text Box in Tkinter, Tkinter Entry Color, Tkinter Text Color, Tkinter Entry or Text Border, Tkinter Entry or Text Font,

www.skotechlearn.com

 

by korealionkk@gmail.com


 

반응형

'업무 자동화 > python & CAD' 카테고리의 다른 글

Qt Designer] 시작  (2) 2025.08.26
PyQt - 파이썬 GUI] 설치  (1) 2025.08.25
Python CustomTkinter #4 How To Create A Label  (1) 2025.08.25
Python 학습] 함수  (2) 2025.08.25
Python CustomTkinter #2 - How To Create A Button  (0) 2025.08.24