Das ist wahrscheinlich so einfach, ich werde zusammenzucken, wenn die Antwort zurückkommt, aber ich bin völlig ratlos. Ich habe die Handbücher ausprobiert, habe versucht, das Internet zu durchsuchen, verschiedene Beispiele und alles, was mir einfällt. Ich bin immer noch fest.Erhalte Daten aus einer Tcltk-Funktion
Ich versuche, eine einfache Eingabe für den Benutzer zu erstellen, um zwei Werte hinzuzufügen, die ich dann im Rest des R-Skripts verwenden kann. Ich brauche das Skript, um zu pausieren und auf die Eingabe des Benutzers zu warten und dann weiterzumachen, sobald es die Eingabe erhalten hat (wie die Funktion zum Auswählen der Datei funktioniert). Nachdem ich eine Menge Sachen gelesen hatte, entschied ich mich für die Bibliothek (tcltk). Ich habe eine nette kleine Box innerhalb einer Funktion.
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)
}
Wenn ich eintippe:
inputs()
Der nette kleine Kasten angezeigt und ich kann meinen Wert Eingang, sage 3 und 4 für dieses Beispiel.
ich zurück
<Tcl>
[1] 3
[1] 4
ich diese Nummer in einem späteren Teil des R-Code verwenden möchten. Wie bekomme ich sie, damit ich das Äquivalent davon bekommen kann?
input1 <- 3
input2 <- 4
Vielen Dank im Voraus für die Hilfe.
Oh perfekt! Mein Problem wurde behoben. DANKE!!! –