3
Tcl 위젯 대화 상자로 간단한 함수를 호출하려고합니다. x, y, z를 넣고 합쳐서 결과를 콘솔에 표시하고 messagebox ("done!") - 하지만 변수 뭔가를 누락하고 메시지 상자를 수행하지 못했다 ..R Tcl/Tk로 간단한 대화 상자
mydialog <- function(){
myfun <- function(x,y,z) x+y+z
xvar <- tclVar("1")
yvar <- tclVar("2")
zvar <- tclVar("3")
tt <- tktoplevel()
tkwm.title(tt,"MYTEST")
x.entry <- tkentry(tt, textvariable=xvar)
y.entry <- tkentry(tt, textvariable=yvar)
z.entry <- tkentry(tt, textvariable=zvar)
reset <- function()
{
tclvalue(xvar)<-""
tclvalue(yvar)<-""
tclvalue(zvar)<-""
}
reset.but <- tkbutton(tt, text="Reset", command=reset)
x <- tclvalue(xvar)
y <- tclvalue(yvar)
z <- tclvalue(zvar)
submit.but <- tkbutton(tt, text="submit", command=function() substitute(myfun(x,y,z)))
tkgrid(tklabel(tt,text="MYTEST"),columnspan=2)
tkgrid(tklabel(tt,text="x variable"), x.entry)
tkgrid(tklabel(tt,text="y variable"), y.entry)
tkgrid(tklabel(tt,text="z variable"), z.entry)
tkgrid(submit.but, reset.but)
}
mydialog()
고마워요. 나는 나의 게시를 편집했다, 거기서 나는 myfun의 def를 붙여 넣는 것을 잊었다. (그 사이에 대체 (.)가이 장소에서 완전하게 틀렸다는 것을 배웠다 ..) – Kay
Welcome! 어쩌면'do.call (myfun, list (x, y, z))'가 당신이 찾고 있던 것일 수도 있습니다. –