Tkinter에서 클립보드에 저장된 내용을 가져오려면 clipboard_get() 메서드를 사용하면 됩니다. 이번 글에서는 예제를 통해 클립보드의 데이터를 읽어와 Tkinter 창에 표시하는 방법을 단계별로 알아보겠습니다.
구현 단계
- tkinter 라이브러리를 임포트하고 tkinter 프레임(Tk) 인스턴스를 생성합니다.
- geometry() 메서드를 사용해 프레임의 크기를 설정합니다.
- clipboard_get()을 호출하여 클립보드에서 텍스트를 가져온 뒤, 변수 cliptext에 저장합니다.
- 클립보드 텍스트를 화면에 보여줄 레이블(Label)을 만들고, text=cliptext 형태로 값을 전달합니다.
- 마지막으로 애플리케이션 창의 mainloop()를 실행합니다.
예제 코드
# tkinter 라이브러리 임포트
from tkinter import *
# tkinter 윈도우 인스턴스 생성
win = Tk()
win.geometry("700x250")
win.title("Data from Clipboard")
# 클립보드에서 데이터 가져오기
cliptext = win.clipboard_get()
# 클립보드 텍스트를 출력할 레이블
lab = Label(win, text=cliptext, font=("Calibri", 15, "bold"))
lab.pack(padx=20, pady=50)
# 메인루프 실행
win.mainloop()
실행 결과
위 코드를 실행하면 다음과 같은 결과가 나타납니다.

프로그램이 실행되면 클립보드에 복사되어 있던 내용이 그대로 Tkinter 창에 표시됩니다.
참고: 클립보드가 비어 있을 때의 예외 처리
클립보드에 아무 내용도 저장되어 있지 않으면 clipboard_get() 호출 시 TclError 예외가 발생할 수 있습니다. 프로그램이 갑자기 종료되는 것을 방지하려면 try-except 문으로 감싸 처리하는 것이 안전합니다.
try:
cliptext = win.clipboard_get()
except TclError:
cliptext = "클립보드가 비어 있습니다."
이렇게 하면 클립보드가 비어 있어도 오류 대신 안내 메시지를 화면에 표시할 수 있습니다.