Получить данные из функции tcltk
Это, наверное, так просто, что я смущусь, когда ответ вернется, но я в полном замешательстве. Я пробовал руководства, пытался искать в интернете, разбирал примеры и все остальное, что мог придумать. Я все еще застрял.
Я пытаюсь создать простой ввод для пользователя, чтобы добавить два значения, которые я затем смогу использовать в оставшейся части сценария R. Мне нужен скрипт, чтобы приостановить и дождаться ввода от пользователя, а затем продолжить, как только он получит ввод (например, как работает функция выбора файла). После прочтения множества вещей я решил использовать библиотеку (tcltk). У меня есть хорошая маленькая коробочка внутри функции.
inputs <- function(){
xvar <- tclVar("")
yvar <- tclVar("")
tt <- tktoplevel()
tkwm.title(tt,"Input Numbers")
x.entry <- tkentry(tt, textvariable=xvar)
y.entry <- tkentry(tt, textvariable=yvar)
reset <- function()
{
tclvalue(xvar)<-""
tclvalue(yvar)<-""
}
reset.but <- tkbutton(tt, text="Reset", command=reset)
submit <- function() {
x <- as.numeric(tclvalue(xvar))
y <- as.numeric(tclvalue(yvar))
print(x)
print(y)
tkdestroy(tt)
}
submit.but <- tkbutton(tt, text="submit", command=submit)
tkgrid(tklabel(tt,text="Enter Two Inputs"),columnspan=2)
tkgrid(tklabel(tt,text="Input1"), x.entry, pady = 10, padx =10)
tkgrid(tklabel(tt,text="Input2"), y.entry, pady = 10, padx =10)
tkgrid(submit.but, reset.but)
}
Когда я набираю:
inputs()
Появляется симпатичная маленькая коробка, и я могу ввести свои значения, скажем, 3 и 4 для этого примера.
Я вернусь
<Tcl>
[1] 3
[1] 4
Я хочу использовать этот номер в следующей части кода R. Как я могу получить их, чтобы я мог получить эквивалент этого?
input1 <- 3
input2 <- 4
Заранее спасибо за помощь.