본문으로 바로가기

클립보드 사용하기

category Tcl & Tk/팁 (Tip) 2025. 3. 17. 14:27

bonkora 님이 작성해 주신 팁입니다.


Tcl/Tk에서 클립보드로 텍스트를 주고받는 예제입니다. 버튼 하나에 텍스트 위젯의 내용을 클립보드로 보내기 위한 명령을, 또 하나에는 클립보드의 내용을 텍스트 위젯으로 갖고 오는 명령을 할당하였습니다. 메모장을 열어놓고 테스트해보시면 되겠습니다. 물론 텍스트 위젯에서 범위를 지정한 후 control-c를 이용해도 되겠지만 명령어를 사용하면 텍스트를 여러모로 조작한 후 클립보드로 보낼 수도 있기 때문에 유용할 때가 있을 것입니다. 혹 필요하신 분이 계실까 봐 올려봅니다.

proc exportclip {} {
    # 클립보드의 내용을 지운다
    clipboard clear
   # 텍스트 윗젯의 내용을 클립보드에 보낸다
    clipboard append [.t get 0.0 end]
}
proc importclip {} {
    # 텍스트 윗젯의 내용을 지운다
    .t delete 0.0 end
   # 클립보드의 내용을 텍스트 윗젯으로 옮긴다
    .t insert end [selection get -selection CLIPBOARD]
}

text .t -width 60 -height 10
grid .t -

button .b1 -text "보내기" -font {fixed 10} -width 20 -command {exportclip}
button .b2 -text "가져오기" -font {fixed 10} -width 20 -command {importclip}
grid .b1 .b2