[R] tcl tk command function with arguments ??

Alexander juschitz_alexander at yahoo.de
Fri Feb 24 08:58:08 CET 2012

Hello, I am using R 2.11.1 under Windows XP.

I would like to know if its possible to use a function with arguments as a
command in tcl tk. For example

PressedOK <- function()
    tkmessageBox(message="You pressed OK!")

tt <- tktoplevel()
OK.but <- tkbutton(tt,text="OK",command=PressedOK)

the function PressedOK has no arguments and its use in
"tkbutton(tt,text="OK",command=PressedOK)" is without any brackets.
Unfortunately I would like to use several buttons and therefor define the
corresponding functions to it.

For example

OK.but <- NULL
PressedOK <- function(i)
    tkmessageBox(message=paste("You pressed OK!",i,sep=""))

tt <- tktoplevel()
for(i in seq(3)){
	OK.but[[i]] <- tkbutton(tt,text="OK",command=function()PressedOK(i))

In this case, all buttons have the command of PressedOK(i) and therefore its
is always written "You pressed OK! 3" even if you push button 1. I think
this is due to the fact that the PressedOK(3) was the last call of the
function, but I don't understand why all the other buttons have now a
different command. Any idea?


View this message in context: http://r.789695.n4.nabble.com/tcl-tk-command-function-with-arguments-tp4416470p4416470.html
Sent from the R help mailing list archive at Nabble.com.

More information about the R-help mailing list