Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

tkinter로 창을 띄우지 않고 클립보드 내용 가져오는 방법

애플리케이션을 개발하다 보면 클립보드에 저장된 내용을 그대로 가져와야 하는 경우가 종종 있습니다. 이럴 때 tkinter의 clipboard_get() 메서드를 사용하면 클립보드에 손쉽게 접근할 수 있습니다.

클립보드에서 텍스트를 복사하면 해당 내용은 캐시 메모리에 저장됩니다. 이 값을 활용하면 프로그램을 디버깅하거나, 프레임 위에 텍스트를 표시하여 클립보드에서 복사한 내용을 눈으로 확인할 수도 있습니다.

먼저 get 메서드를 통해 원본에서 복사된 문자열이나 텍스트를 담아둘 창(window)을 생성합니다. 작업이 끝난 후에는 tkinter의 withdraw() 메서드를 호출하여 창을 숨길 수 있습니다. 이 메서드는 불필요한 창이 화면에 나타나는 것을 막아주며, 창을 숨겨도 프로그램 자체는 메모리에 유지되므로 클립보드 작업에는 전혀 지장이 없습니다.

예제 코드

#Import the tkinter library
from tkinter import *

#Create an instance of tkinter canvas by executing it
win = Tk()
win.geometry("600x200")

#Get the data from the clipboard
cliptext = win.clipboard_get()

#Create the label for the clipboard
lab=Label(win, text = cliptext)
lab.pack()

#Keep Running the window
win.mainloop()

실행 결과

위 코드를 실행하면 클립보드에 저장된 내용이 복사되어 창에 표시됩니다.

tkinter로 창을 띄우지 않고 클립보드 내용 가져오는 방법

만약 창을 화면에 띄우고 싶지 않다면 withdraw() 메서드를 사용하면 됩니다. 아래 예제처럼 창을 생성한 직후 바로 숨기면, 사용자에게는 아무런 창이 보이지 않은 상태에서 클립보드 데이터만 조용히 가져올 수 있습니다.

from tkinter import *
win = Tk()
win.withdraw()
number = win.clipboard_get()

이처럼 withdraw()는 창을 완전히 종료하는 것이 아니라 단순히 화면에서 감추는 역할을 하므로, 백그라운드에서 클립보드를 읽거나 다른 GUI 작업을 처리할 때 매우 유용하게 활용됩니다.