나는 사용자가 자신이 좋아하는 과일을 선택할 수 있도록 목록 상자를 만들기위한 TclTk 예제를 따라했습니다 (아래 코드 참조). 이 예제는 사용자의 선택을 인쇄하고 그 것이다. 그러나, 필자는 나중에 스크립트에서 다양한 것을하기를 원합니다 (플롯 제목, 파일 이름 등에서 사용하십시오). TclTk GUI에서 사용자의 선택을 내 스크립트의 나머지 부분으로 되돌리려면 어떻게해야합니까?R에서 TclTk GUI에서 변수를 반환
library(tcltk2)
win1 <- tktoplevel()
win1$env$lst <- tk2listbox(win1, height = 4, selectmode = "single")
tkgrid(tk2label(win1, text = "What's your favorite fruit?", justify = "left"),
padx = 10, pady =c(15, 5), sticky = "w")
tkgrid(win1$env$lst, padx = 10, pady = c(5, 10))
fruits <- c("Apple", "Orange", "Banana", "Pear", "Apricot")
for (fruit in fruits)
tkinsert(win1$env$lst, "end", fruit)
# Default fruit is Banana. Indexing starts at zero.
tkselection.set(win1$env$lst, 2)
onOK <- function() {
fruitChoice <- fruits[as.numeric(tkcurselection(win1$env$lst)) + 1]
tkdestroy(win1)
msg <- paste0("Good choice! ", fruitChoice, "s are delicious!")
tkmessageBox(message = msg)
}
win1$env$butOK <-tk2button(win1, text = "OK", width = -6, command = onOK)
tkgrid(win1$env$butOK, padx = 10, pady = c(5, 15))
누군가가 R에서 TclTk로 무언가를 만들고 있다는 것에 정말로 흥분하는 동안 [재현 가능한 예]를 주어야합니다 (http://stackoverflow.com/questions/5963269/how-to-make-a-great). -r-reproducible-example), 또는 적어도 지금까지 얻은 것과 패키지를 사용하고 있는지 확인하십시오. – alistaire
사과드립니다. 나는 내가 따라간 예제에 대한 코드를 추가했다. – jim616