我尝试使用 Tcl 小部件对话框调用一个简单的函数 - 将 x、y 和 z 放在一起并总结它们,在控制台中显示结果,并带有一个消息框(“完成!”) - 但我缺少一些变量并没有设法做消息框..
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()