I have a long-ish script to do some data analysis, and it has to connect to several databases. One of the databases tends to update my password more frequently than I like, so I'd like to add a popup box for me to enter my current password. I found this example but don't understand enough tcltk to see hwo to return my value when the dialog box is dismissed. I've thought of defining it as a global variable (<<-
) within the OnOK function, but this seems messy
require(tcltk)
tt<-tktoplevel()
Name <- tclVar("Password")
entry.Name <-tkentry(tt,width="20",textvariable=Name)
tkgrid(tklabel(tt,text="Enter Password"))
tkgrid(entry.Name)
OnOK <- function()
{
NameVal <- tclvalue(Name)
tkdestroy(tt)
}
OK.but <-tkbutton(tt,text=" OK ",command=OnOK)
tkbind(entry.Name, "<Return>",OnOK)
tkgrid(OK.but)
tkfocus(tt)
You might find the ginput
function of gWidgets
wraps up what Greg Snow suggests for you:
require(gWidgets)
options(guiToolkit="tcltk")
NameVal <- ginput("Enter your passsword:")
NameVal
will contain the entered string or NA
if you cancel.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With